Falha com Char em C

1. Falha com Char em C

Pedro Henrique
deltreepedro

(usa Ubuntu)

Enviado em 20/10/2010 - 18:22h

Galera, estou tendo um problema com um código que fiz na faculdade. É um programa bem simples para entrada de nomes, armazenamento e saída na tela utilizando matriz. Aqui vai o código:
---------------------------------------------------------------------
#include <stdio.h>


main(){

char nome[20];
int cont=0;

for (cont=0;cont<20;cont++){
printf("Digite o %do nome: ",cont+1); fflush(stdin); fgets(nome,19,stdin);
}

for(cont=0;cont<20;cont++)
printf("%s",nome[cont]);


}
---------------------------------------------------------------------

No momento da compilação ele me retorna:
nome.c: In function ‘main’:
nome.c:14: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’

Estou utilizando o GCC para compilar.
Alguém sabe o que pode ser?

Obrigado


  


2. Re: Falha com Char em C

Ezequias Rocha
Ezequias Rocha

(usa Ubuntu)

Enviado em 21/10/2010 - 08:16h

O fato é que você não está utilizando uma matriz, para isto, declare a variável como segue:
char *nome[20];
Então você deve fazer alocação para a matriz:
for (cont=0;cont<20;cont++)
nome[cont]=(char *) calloc(19, sizeof(char));

e faça o resto normalmente;


for (cont=0;cont<20;cont++){
printf("Digite o %do nome: ",cont+1); fflush(stdin); fgets(nome[cont],19,stdin);//nome[cont] ao invés de apenas nome
}

for(cont=0;cont<20;cont++)
printf("%s",nome[cont]);

Embraces!








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts