C小测验——104 |问题3

当我们编译并运行下面的C程序时会发生什么?

null

#include < stdio.h ><br>
<br>
int main()<br>
{<br>
int i = 1, j;<br>
for ( ; ; )<br>
{ <br>
if (i)<br>
j = --i;<br>
if (j < 10)<br>
printf ( "GeeksQuiz" , j++);<br>
else <br>
break ;<br>
}<br>
return 0;<br>
}<br>


(A) 编译错误。 (B) 没有编译错误,但它将运行到无限循环打印Geeksquick。 (C) 没有编译错误,它会打印10次Geeksquick。 (D) 没有编译错误,但会打印9次Geeksquick。 答复: (C) 说明: 基本上,即使for循环的括号中没有三个表达式中的任何一个,初始化、控制和增量都是在循环体中完成的。所以j将通过第一个if初始化为0。如果由于i-,它本身只执行一次。接下来使用if和else块检查j的值,如果j变为10,则检查现有循环。请注意,即使格式字符串中没有格式说明符,printf中的j也会递增。这就是为什么Geeksquick会打印j=0到j=9,即总共10次。 这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享