c语言:为什么执行结果是0..

 我来答
bignode
2017-12-26 · TA获得超过2664个赞
知道大有可为答主
回答量:1427
采纳率:75%
帮助的人:539万
展开全部

关键是了解自减运算符机制:

y--;和--y;单独在一个语句是没有区别的,执行完后,y在原值基础上减1;

但与其它代码出现在同一语句中时,就有区别了,--y先自减,再取y值参与其它运算 ;y--先取y值参与其它运算,再自减。

while(--y);中,循环退出条件是括号中的值为0,即y自减1后的值是0;

print(y--)之前,y值为0,printf先输出y的这个值0,然后y自减1,语句执行完,y为-1.

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式