对下列代码的描述:
#include "stdio.h" int main(){ long num=1; while(num++ > 0) for(long i=num; i >=0; i--)printf("i :=\n \t %ld \n" , i); return 0; }正确的是:
(2分)
A.程序有编译错误,不能执行
B.循环条件永为真,循环无限次,程序根本停不下来,打印输出无限行
C.循环有限次,程序正常结束,打印输出有限行
D.程序运行过程必定会出错(崩溃),结果打印输出有限行
答案为C
解释:可能是long的定义问题
如下图

到long的范围最大后,再加时变量变为了负数,所以使得程序得以结束。

2万+

被折叠的 条评论
为什么被折叠?



