A-A+
设有以下程序段: int x=0 s=0; whUe(! x! =0) s+ = ++x;
问题详情
设有以下程序段: int x=0,s=0; whUe(! x! =0) s+ = ++x; printf("%d",s); 则()。
A.运行程序段后输出0
B.运行程序段后输出1
C.程序段中的控制表达式是非法的
D.程序段执行无限次请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:B
解析:本题中,逻辑非“!”运算符比不等于“!=”运算符优先级高,因此第一次循环时!x!=0的运算结果为真,s的运算结果为1;第二次循环时!x!=0的运算结果为假,循环结束,输出s的结果为1。