问题 单项选择题

设有以下程序段,则
int x=0,s=0;
while(!x!=0)s+=++x;
printf("%d",s);

A) 运行程序段后输出0
B) 运行程序段后输出1
C) 程序段中的控制表达式是非法的
D) 程序段执行无限次

答案

参考答案:B

解析: 本题中,逻辑非“!”运算符比不等于“!=”运算符优先级低,因此第一次循环时!x!=0的运算结果为真,s运算结果为1;第二次循环时!x!=0的运算结果为假,循环结束,输出s结果为1。

填空题
多项选择题