早教吧 育儿知识 作业答案 考试题库 百科 知识分享

一道二级C题目设有以下程序段:intx=0,s=0;while(!=0)s+=++x;printf(“d%”,s);则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次首先执行while时x

题目详情
一道二级C题目
设有以下程序段:
int x=0,s=0;
while(!=0)s+=++x;
printf(“d%”,s);

A)运行程序段后输出0 B)运行程序段后输出1
C)程序段中的控制表达式是非法的 D)程序段执行无限次
首先执行while时 x为真;!=0表达式的值为1,则执行语句,执行后x=1了,再执行while时,x=0,=0的值为0,则结束循环!
▼优质解答
答案和解析
问题补充:首先执行while时 !x为真;!x!=0表达式的值为1,则执行语句,执行后x=1了,再执行while时,!x=0,!x!=0的值为0,则结束循环!
小子,和我们想的一样,不过不要急着给答案,我们几个同学现在正在讨论这个,TC出了点问题,正在重装
运行结果是1,因此答案是B
第一次运行后x本身已经加1,S也加一,第一次循环时(!x!=0)已经为假,循环跳出.
记住应该把printf(“d%”,s); 改成printf(“%d”,s);