永发信息网

void main() { int x=3,y=0; while(x--) ; { y++; } 我想知道,为什么x=-1 ?

答案:3  悬赏:10  手机版
解决时间 2021-02-10 15:24
void main() { int x=3,y=0; while(x--) ; { y++; } 我想知道,为什么x=-1 ?
最佳答案
循环第一次 while(x--)首先判断while语句时x=3,之后进行x--;此时x=2
循环第二次 while(x--)首先判断while语句时x=2,之后进行x--;此时x=1
循环第三次 while(x--)首先判断while语句时x=1,之后进行x--;此时x=0
循环第四次 while(x--)首先判断while语句时x=0,此时跳出循环语句,之后进行x--;此时x=-1
懂了吗
全部回答
宏在编译的时候,会直接替换为代码,展开之后如下: int x=3,y=0; while(x--){ y++;} printf("x=%d,y=%d",x,y); while(x--)中,先进行判断操作,后进行--操作,但是即使x==0时,while(x)为假,注意这时还有一次x--操作 综上所述,while循环有3次,x--有4次,故答案为x=-1,y=3
--运算符是先判断后自减,while(x--) 首先x=0 while循环退出,然后x自减变成-1
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
捷安特FCR3300怎么样?
露娜专业美甲坊地址在什么地方,想过去办事
现在东阿阿胶的价格都好高。有没有那家直营店
南天商务宾馆在哪里啊,我有事要去这个地方
多彩美甲地址在哪,我要去那里办事
七星瓢虫捕食蚜虫,这是生物之间的捕食关系
武汉是什么城
支付宝转账转到未经实名验证的支付宝去了 怎
一篇大部分都是拟人句的200字作文
大地红丧葬总批发地址在什么地方,想过去办事
怎么和家长坦白说我有男朋友了 男朋友是外地
名蔻美甲地址有知道的么?有点事想过去
【而已】而已与而以有什么区别?
原始天尊大还是菩提老祖大
荆州市国威汽车出租有限公司我想知道这个在什
推荐资讯
职工职业培训财政补贴实施计划书? 职代会审
我家泰迪两个多月了生病了,吐,该怎么办?
雅迪电动车专卖地址在哪,我要去那里办事
红太阳酒厂批发处地址有知道的么?有点事想过
可惜没如果word牙哪里可以下载
手机或平板电脑直接用号码流量上网,和外置4G
【card是什么意思】数学:card是什么意思?详细
和兴寄卖行怎么去啊,有知道地址的么
25度相声笑栈(佘山店)地址在哪,我要去那里办
从广州有没有到湖北省巴东县野三关镇柳家山火
聚星造型地址在什么地方,想过去办事
Iphone5S在更新了系统之后需要重新激活~给的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?