c语言中,程序段分析

1、已经下列程序段:inty=1;while(y--){printf("y=%d\n",y);}则输出的结果为:(分析,文字表述)2、有下列程序段:intk=0;whil... 1、已经下列程序段:int y=1;while (y--){printf ("y=%d\n",y);}则输出的结果为:(分析,文字表述)2、有下列程序段:int k=0;while (k=1){ k++;}while循环执行的次数是:请说明理由; 展开
 我来答
嵇水元雨彤
2019-11-26 · TA获得超过1198个赞
知道小有建树答主
回答量:791
采纳率:100%
帮助的人:2.9万
展开全部
同学,第一个答案确是是"y=0"原因如下,首先我们要说自增和自减运算符“++”和“--”,如果该运算符的位置在操作数之前,则操作数在进行任何计算之前就已经发生改变,如果运算符在操作数后面,则操作数在完成表达式的计算之后才发生改变,例如int
a=5,b=8,c;c=a++*b;
//"++"在操作数a后面,先计算a*b=40,赋值给c,然后a++,a值为6,c的值为40c=++a*b;
//"++"在操作数a前面,先a++,a=7,再a*b,c=56然后我们来看你给的程序,因为是y--,"--"在y后面,则先判断while的条件,此时y=1,即true,为真,然后y--,y=0,然后输出y:y=0;然后再判断while,因为此时y=0,为假,跳出循环,结束。要注意顺序,先判断whlie,然后y--,若while条件为真,则执行while的语句。
若改成"--y"的话,则先计算"--y",y=0,再判断while的条件,此时y=0,即false,为假,直接跳出循环,即什么都不做,结束。
第二题,你要注意的是while的条件不是"k==1"而是"k=1",不是一个判断语句,而是一个赋值语句。即while的条件永远都是“k被赋值为1,然后k作为条件”进行判断,此时k是1,即true,为真会永远进行下去。
曾彬薛平灵
2019-11-30 · TA获得超过1107个赞
知道小有建树答主
回答量:693
采纳率:100%
帮助的人:2.2万
展开全部
1,
while循环题
输出的结果为1
当执行到while语句时,Y的值为1,此时并不执行Y--,因为--在后为后置运算,输出1,执行y--,y的值为0,跳出循环,程序结束。结果为1.2.,
循环次数为0
因为while循环语句中的K++是当K=1为真值时才执行的,而K被赋值为0此时不等于1,k=1为假,循环体并不循环,所以次数为0.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江伶抗弘亮
2019-12-30 · TA获得超过1153个赞
知道小有建树答主
回答量:751
采纳率:92%
帮助的人:3.1万
展开全部
int
k=0;while
(k=1){
k++;}while循环执行的次数是0理由:while
循环是先做判断后在执行while快里面的语句的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式