#include
int main()
{
unsigned int i = 65000;
while (i++ != 0);
printf("%d", i);
return 0;
}
(A)无限循环
(B) 0
(C) 1
(D)运行时错误答案: (C)
说明:结果将为1,但是经过了很长时间,因为while循环将继续进行直到我变成4294967295(假设unsigned int使用4个字节存储)并且由于我在下一个++操作中unsigned int的最高限制是4294967295,所以将变为零,我们将退出循环并打印1。
由于花费的时间很长,因此在线编译器可能会在超出时间限制的错误的情况下终止程序。如果使用unsigned short int代替unsigned int,则结果(1)可能会更快。
这个问题的测验