Jump to content

Dúvida no while


Guest Markito

Recommended Posts

Muito boa noite.

Antes de mais gostaria de dizer que sou um novato na programação!

Começei a estudar programação á relativamente pouco tempo, e começei na altura pela liguagem Pascal. No entanto acabei por me decidir a começar a estudar programação partir a liguagem C.

Estou a ler um pdf de liguagem C que me parece deveras interessante.

Como sou um pouco teimoso, só sigo em frente quando tenho tudo compreendido atrás. E se não compreendo "impanco" ali e começo a patinar...

Foi o que aconteceu neste caso:

#include <stdio.h>
int main ()
{
 char ch;
 ch='\0';
 while (ch!='w')
 {
   scanf("%c",&ch);
 }
 return (0);
}

É suposto este simples programa "esperar o usuário digitar a tecla 'q' e só depois finaliza" e é o que ele faz!

No entanto eu não entendo como isso acontece! No entanto eu não entendo como é que ele coloca os caracteres na tela se nem um printf tem! Isso é que me faz a real confusão!

tava todo o pdf a correr bem quando me aparece este programa que vem descontinuar o meu estudo!

Alguém me pode explicar o porquê deste programa funcionar?

desde já agradeço e as minhas desculpas por talvez não ser um desafio muito interessante para os mais "batido"!

Abração

Link to comment
Share on other sites

ele funciona, mas não como pretendido :

esperar o usuário digitar a tecla 'q'

não é isso que está a acontecer :

while (ch!='w') // <---- 'w' não é 'q' ...

printf é para fazer a saida/escrita de informação na consola

tu não queres escrever mas ler da consola, e para isso usa-se o scanf como apresentado.

nota : mentaliza-te que o que é apresentado é uma forma muito simplista de o fazer e verás dentro em breve que é preciso ter em mente que pode acontecer muitos problemas nesse código que terás (mais tarde) de prever e combater

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.