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

NWY

Erro no ciclo.

4 mensagens neste tópico

Estava a dar revisoes quando me deparei com esta situação.

#include <stdio.h>

main()

{

char nome[30];

do

{

  printf("Nome:"); gets(nome);

  puts(nome);

}

while(nome!="SAIR");

printf("Sair...");

system("pause");

}     

Era suposto sair quando introduzi-se "SAIR"...mas não sai!

Que frustração!

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muda o while para algo do género:

while( strcmp( nome, "SAIR" ) );

edit: tinha posto o ! no strcmp quando na realidade isso ia fazer sair do loop sempre que se inserisse algo diferente de "SAIR" ( o strcmp devolve 0 quando as strings são iguais )

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para comparar strings tens de usar a função strcmp (string compare).

Ou seja, em vez de:

while(nome!="SAIR");

tens de pôr

while(strcmp(nome,"SAIR")!=0)

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