一道C语言基础不好不清楚

img

为什么D选项,只读取输入的第一个字符呀,而C选项可以读完一个立马读下一个

答案D有个问题,ch = getchar()只能执行一次,如果ch不为换行符\n则会死循环。仔细体会下for循环语句的语法,两个分号隔开的三个代码,等一个只被只行一次

因为for的第二个表达式也是每次都会执行的
for (a;b;c)
{
d;
}
相当于
a;
while(1)
{
b;
d;
c;
}

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^