c语言while(ch=getchar&&ch!='\n')为什么不能结束输入?

如题所述

第1个回答  2018-08-21
ch=getchar&&ch!='\n' 等价于 ch= (getchar() && ch!='\n')
ch 未更新。
=======
ch 为 0 才能结束。
这样可以结束:
char ch='\n';
while( ch=getchar() && ch!='\n') {printf("%#x ",ch);};
printf("%#x ",ch);

一个问题while((x = getchar())!='\\n')
\\n在C语言中的意思是“回车”照着么说的,while((x=getchar())!='\\n')就是 当((从键盘读取一个值,并赋值给x)不等于回车)……说白了就是当你输入回车(就是恩一下“Enter”键)时,这一段代码就执行结束了。例如:while((c=getchar())!='\\n'){ printf("%d",c)} 就是说当...

c语言 while (getchar() != '\\n')为什么可以过跳过回车?
while (getchar() != 'y' ){ 循环体 };这时,输入流数据缓冲区 没东西。等待 键盘缓冲区 把东西 送过来。键盘缓冲区 等待 用户 拍入 字符,并等待 '\\n' 到来,一旦 '\\n' 到来, 键盘缓冲区 里的内容 才送到 输入流数据缓冲区。输入流里若有 'y', 就 结束 这个 while 循环...

c语言中 while ((c=getchar()) != '\\n')不懂
分开来看, 先getchar( ), 等待用户输入一个字符, 把输入的字符赋值给变量c, 再判断c是否等于'\\n' , 如果不等于则继续运行while,即再一次等待用户输入..., 如果等于,则结束while循环.也就是说等待用户逐个输入字符, 直到输入了回车就结束输入....

C语言中while((ch=getchar())!="\\n")的作用是什么?怎么理解?
代码有问题,应该是 while ((ch = getchar()) != '\\n') 目的是不断读取用户输入的字符,当读取到的字符为回车符的时候停止循环。getchar是读入函数的一种。它从标准输入里读取下一个字符,相当于getc(stdin)。返回类型为int型,为用户输入的ASCII码或EOF。

C语言getchar(), while ((c = getchar()) != '\\n')printf("%c", c...
getchar在回车前不处理输入缓冲区的内容。楼主试试看_getch()替换getchar()头文件是conio.h

while((c=getchar())!='\\n')
(c=getchar())!=' ')如果c的值不等于空格,执行while循环 ,不断把键盘的值存给c,当从键盘输入的值是空格,c的值就是空格的ASCII码值,此时while循环终止,不再从键盘取得字符赋给c。相当于:从键盘输入一个字符 :getchar()然后把字符的值赋给c :c=getchar()然后判断c是否等于‘ ’ ,...

为什么while ((ch = getchar()) == 'e') printf ("*");当我输入abcde时...
等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.你可以在这个while外面套一个循环就可以看到会输出“*”,你这里的while相当于一个if判断,getchar()只是获取一个字符,while循环不了 ...

while(getchar()=='\\n')continue;为什么作用是清空行啊,希望懂的解释详...
在C语言dos界面下,从键盘输入数据一般是以空白符(换行、回车、空格、制表符等)作为结束输入的标志;开始你的输入只是存到了缓冲区中并未发给你的程序,只有你键入这些字符的时候你的输入才会被程序接收,在这里你的判断条件是'\\n'(换行符),说明你是以换行符结束的你的输入,所以用getchar()函数...

while(ch= getchar()){
在C语言中,while (ch = getchar()) != '\\n' 这个循环语句的意思是,不断地从标准输入(通常是键盘)读取一个字符,然后将这个字符赋值给变量 ch,直到读取到的字符是换行符、回车符('\\n')为止。下面是一个使用这个循环的简单代码示例:在这个示例中,程序会不断地读取输入的字符,直到遇到...

C语言 getchar只能读放一个字符 但为什么,,
include <windows.h>#include <stdio.h>void main(void){char ch;while( (ch=getchar())!='\\n' ) \/\/输入字符,直到回车结束(测试人员可在输入几个字符后,停几秒,再按回车,就可以验证”回车后才读取缓存“这句话了。){printf("your input: %c, sleep 1s\\n", ch );Sleep(1000); ...

相似回答