• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jpedro7

Problema com o Scanf

2 mensagens neste tópico

Quando tento carregar um elemento de uma tabela bidimensional a partir do keyboard acontece o seguinte:

se digitar duas palavras o scanf parte-me em duas linhas porquê?

Código:

int i;
char texto[80];

printf("Inserir o Texto \n");
scanf("%s", &texto_l[tot_ln][0],80);
for (i=1;i<=25;i++)
{
	printf("Inserir linhas \n");
	scanf("%s", &texto_l[tot_ln][i],80);
	if (strcmp(texto_l[tot_ln][i], "end") == 0)
	{
		break;
	}
}
tot_ln++;

Quando é executado a instrução printf("Inserir linhas \n"); eu escrevo "Primeira Linha" a seguir o scanf("%s", &texto_l[tot_ln][i ],80); escreve-me duas ocurrências no vector.

A 1ª ocurrência com o valor "Primeira" e segunda com "Linha".

Só deveria ser um elemento com "Primeira Linha" .

Alguem pode ajudar ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

com o %s só lês a primeira string, se quiseres ler a linha toda tens de usar por exemplo o fgets. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora