while语句
#include <stdio.h>int main(void)
{
char ch;
scanf("%c",&ch);
while(ch!='g')
{
printf("%c",ch);
scanf("%c",&ch);
}
return 0;
}
输入Go home go输出Go home
while(ch!='g')
{
printf("%c",ch);
scanf("%c",&ch);
}这不是应该输出一个字符,再写入一个字符吗?
输入的字符 存在缓冲区 你那个循环 是 不是g就循环他输出一个就会去 缓冲区 去你上次没被取到的字符 等取到g 他就退出循环了 应该是你输入g之后就退出循环了,所以go就不输出了 shenyaowen 发表于 2014-3-17 21:48 static/image/common/back.gif
输入的字符 存在缓冲区 你那个循环 是 不是g就循环他输出一个就会去 缓冲区 去你上次没被取到的字符 等取 ...
有点懂了 那为什么不是输入一个字符 打印一个字符?
#include <stdio.h>
int main(void)
{
char ch;
scanf("%c",&ch);
while(ch!='g')
{
printf("%c",ch); //此处加上一个\n 表示换行就可以单个输出 printf("%c\n",ch);
scanf("%c",&ch);
}
return 0;
}VC++ 6.0 实测通过 如果不输入g的话确实是打印出来后就输出.
页:
[1]