中易网

{ int i; for (i=0;++i;) { if(i==3) { printf("%d\n",++i); break; } printf("%d",++

答案:4  悬赏:80  
解决时间 2021-02-12 15:53
{ int i; for (i=0;++i;) { if(i==3) { printf("%d\n",++i); break; } printf("%d",++
最佳答案
输出的是2 4,不是24,

{ int i;
①for (i=0;++i;)
{
② if(i==3)
④ { printf("%d\n",++i);
break; }
③ printf("%d",++i);
}
return 0;
}
①.第一次进入循环时,执行for (i=0;++i;) 时,首先 i 被赋0,然后执行 ++i,正常中间的语句放条件语句,进行循环判断,可现在是++i ,所以一进循环i 就已经是1了.
②. 接下来判断 if(i==3) ,不成立,执行③ printf("%d",++i); 先加加再打印,打出来的是2
接下来回到①for (i=0;++i;) 应该执行for的第二句进行循环判断,可执行的还是++i.所以些时i是3。
进入循环, 接下来判断 if(i==3) ,成立,执行④ printf("%d",++i); 先加加再打印,打出来的是4。
最后就是你看到的24了。。。呵呵
全部回答
i从0开始进入循环,因为i!=3执行可printf ++i也就是2 之后执行循环判断++i 逻辑为真i变为3 进入循环i==3成立执行printf ++i也就是4 break直接退出循环
先说24,其实是2次输出,第一次输出2,第二次输出4 你可在%d后面加\n或空格看下效果 i=0,然后++i,就等于i=1 i不等于3,直接输出++i,++i是先赋值再输出,就是i=1的基础上加1,i=2,输出 然后在for循环语句二中++i一次,i=3了,进入条件语句,同理++i输出等于4, break跳出循环,就结束了
for格式为:for(1;2;3){语句;},先执行1,再执行2, 判断2不为“0”的话再执行“语句”。最后执行3.这题先执行i=0, 然后执行++i;判断 ++i不为“0”然后执行下面的if语句,不满足if(i==3),然后执行 printf("%d",++i); 这其中进行了两次++i;所以i的结果是2,先输出了2。因为++i永远不为"0",所以for循环会一直执行,想要跳出for循环只能使用break;所以i结果为2输出后,继续执行for循环,又进行++i;此时i的结果为3,然后执行下面的if语句,满足if(i==3)执行{ printf("%d\n",++i); break; } .i再次进行++i;结果变为4输出。再执行break语句,跳出for循环。执行 return 0; 程序结束。所以最后输出的结果是24.
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
盐城属于江苏东南西北哪个方向
留影迹音乐主题餐吧在什么地方啊,我要过去处
MT6162N与RTR6285A的区别
医保、社保里的钱怎么办
垃圾闻起来相当糟糕用英语表示
吉林省基督教两会怎么去啊,有知道地址的么
“每个人心中都有一片森林,迷失的人会迷失,
vivox5为什么充电只能充百分之七十七就充不了
请问怎样下载蚂蚁战车第三代
中国电信孙圩孜营业厅在什么地方啊,我要过去
为什么戴隐形眼镜眼睛会变形
在正方形ABCD中,E,F分别是边BC,CD上的点,
温暖超市在哪里啊,我有事要去这个地方
在新乡什么地方可以买到手接式冰淇淋机
我用手机把家里的wifi密码给改了然后就没有网
推荐资讯
高中英语必修三的Unit2的文章come and eat he
普通话考试有必要刷分吗
郑州联泰贸易有限公司这个地址在什么地方,我
衣服沾到甲油胶,怎么弄掉?
分手情人知道我生病为何发难过的表情
谁看过克里希那穆提的书?
爽心酒店怎么去啊,有知道地址的么
怎么做阳台小菜园
陌陌粉丝送现实礼物能收不
牡丹江市21世纪演艺吧的地址
角膜塑形镜可靠吗?真的可以摘掉眼镜吗?
请问母狗打了伊维菌素半个月配种有用吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?