Thihup
(usa Manjaro Linux)
Enviado em 11/05/2015 - 17:26h
ljparaujo escreveu:
por favor alguem pode me dizer o que ha de errado com esse vetor pois consigo ler os caraceteres digitados mas nao consigo imprimilos
aqui esta o codigo
#include <stdio.h>
int main()
{
char vet[20];
int i;
printf("vetor de caracteres.\n");
printf("escreva ate 20 letras para o vetor:\n");
for(i = 0; i < 20; i++)
{
scanf("%c",&vet);
}
for(i = 0; i < 20; i++)
{
printf("%c",vet[i]);
}
return 0;
}
agradeço de ante mao
Amigo, como está usando um vetor de caracteres, é necessário utilizar o [i]%s em vez de
%c num loop. E precisa executar apenas uma vez.
NOTA: De 20 posições é possível utilizar apenas 19, pois o ultimo é necessário para o byte nulo '\0', ou seja, uma frase termina com o byte nulo.Exemplo: char vetor[7]={'T','h','i','a','g','o','\0'};
Você poderia utilizar o comando
fgets para aprimorar seu código, que ficaria algo assim:
#include <stdio.h>
int main(){
char vetorChar[20];
printf("Digite uma frase : ");
fgets(vetorChar,20,stdin);
printf("Voce digitou \"%s\" !\n");
return 0;
}
O
fgets coloca no "vetorChar" limitando até 19 caracteres e ele coloca automaticamente o '\0'.O
stdin é a entrada padrão, nesse caso, o teclado.
O
%s imprime os caracteres até o byte nulo('\0').
Espero ter ajudado
Qualquer dúvida só postar!
[]'s
T+
--
C ou Não C ?
Eis a questão...