Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Visitante

C Não estou conseguindo mostrar os caracteres de vários nomes

Recommended Posts

Visitante

Consegui só com um nome,abaixo o código

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
	char nome[50];
	int tam, i;
	printf("Digite um nome :");
	scanf("%s", nome);
	tam = strlen(nome);
	for(i = 0; i < tam; i++)
	{
		printf("[%c]", nome[i]);
	}

}

Nesse outro tentei com 3 nome porém não consegui.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
	char nome[3][100];
	int tam[3], i,j;
	for(i=0;i<3;i++)
	{
		printf("Informe os nome :\n");
		scanf("%s",nome[i]);
		tam[i] = strlen(nome[i]);
	}
	for(i = 0; i < tam[i]; i++)
	{
		printf("%c",nome[i]);
	}
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Diogo alves12    nesse código você colocou scanf, mas o scanf só pega uma palavra até encontrar um espaço em branco, então para pegar mais de uma palavra até mesmo uma frase inteira, você precisa usar o comando gets assim :

fflush(stdin);
gets(nome);

 e o segundo código tem vários erros então não funciona mesmo .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use aspas dentro dos printf(), use aspas nos scanf(), exemplo: 

// Não use:
scanf(%s, variavel);
// Use: 
scanf("%s", variavel);

Outro erro que notei, se quiser receber mais de uma palavra numa entrada, não use scanf, nem gets( Não é recomendado usar gets), use fgets, no seu caso fica da seguinte maneira: 

fgets(nome[i], 100, stdin);

No final, não use 

// No seu caso, não use:
printf("%c", nome[i]);
// Tem dois erros, o certo era sair como %s, e coloque uma saída formatada, com o & antes da variável, assim:
printf("%s", &nome[i]);

Fora outros errinhos que não me lembro se teve, só sei que corrigi:


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
        char nome[3][100];
        int tam[3], i,j;
        for(i=0;i<3;i++)
        {
                printf("Informe os nome :\n");
                fgets(nome[i], 100, stdin);
                tam[i] = strlen(nome[i]);
        }
        for(i = 0; i < tam[i]; i++)
        {
                printf("%s", &nome[i]);
        }
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×