Jump to content
Guest Markito

Dúvida no while

Recommended Posts

Guest Markito

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

Edited by Rui Carlos
Adição de Syntax Highlight

Share this post


Link to post
Share on other sites
HappyHippyHippo

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

Share this post


Link to post
Share on other sites
Guest Markito

peço desculpa era a letra 'w' realmente que eu queria dizer!

ahh... Muito obrigado pela tua resposta

Share this post


Link to post
Share on other sites
pmg

O que aparece no ecra nao foi o programa que la pos: foste tu ao carregar no teclado :)


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
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.