请问一个关于getchar的问题^ ^
c语言吧
全部回复
仅看楼主
level 1
conant1989 楼主
请问:
char c;
while((c=getchar())!='\n')
{printf("%c",c);}
和
char c;
c=getchar();
while(c!='\n')
{printf("%c",c);}
这两个为什么运行结果不同捏?我总觉得应该是一样的,但是,比如输入"abc",第一种只打印第一个字母"a",第二种就会全都打印出来,为什么捏?
2009年01月18日 03点01分 1
level 1
怎么可能,lz说错了吧,应该是第一种输入什么就输出什么,第二种只能输入一个字符
2009年01月18日 03点01分 2
level 1
conant1989 楼主
对对,我写错了,到底为什么捏?
2009年01月18日 04点01分 3
level 9
如果你把c=getchar()放在循环内部就能输出全部了。
2009年01月18日 04点01分 4
level 1
conant1989 楼主
我只输入了一次abc,每次循环不是应该都从第一个字符打印吗?第二次怎么会跳过a而打印b?
2009年01月18日 04点01分 5
level 1
conant1989 楼主
循环读不从第一个字符读吗
2009年01月18日 04点01分 7
level 1
conant1989 楼主
这个和在里面那个一样,为嘛?
2009年01月18日 04点01分 9
level 9
int c = 0; 
while(c!='\n') 
{ 
    c=getchar(); 
    printf("%c",c); 
}
2009年01月18日 04点01分 10
level 1
conant1989 楼主
??
2009年01月18日 04点01分 11
level 1
在第二个程序中 c=getchar();只接收了一个字母 当然只能输出一个 如果吧这句放入循环中就好了
2009年01月19日 06点01分 12
1