【发布时间】:2018-11-20 22:59:46
【问题描述】:
在这里学习C,我很困惑。
char ch;
for(;;)
{
puts("Type a letter: ");
ch=getchar();
if(ch == '~')
{
break;
}
}
为什么它会打印两次而不是一次?程序运行时是这样的:
输入一个字母:
a
输入一个字母:
输入一个字母:
d
输入一个字母:
输入一个字母:
g
PS 同样的事情也发生在 while 循环中。
【问题讨论】:
-
因为换行符也是一个字符。
-
ch上的调试器、断点和变量监视将很快发现这一点。现在开始学习一个;它会为你余下的职业生涯带来回报。哦,这里有一个似是而非的重复:"Usinggetchar()on c gets the 'Enter' after input " -
请注意
getchar()返回一个int。不是char。
标签: c loops for-loop char break