C语言的自加自减到底从函数哪里开始,从哪里结束?

如题所述

我们一行一行分析:

for (x = 5; x > 0; x--) //从x=5开始,当x>0的值为false时停止循环。每次循环x自减。

if (x-- < 5) printf("%d", x); //x--的值就等于x,也就是说第一次是不执行的。这个语句同时也会将x自减。

else printf("%d", x++); //x++的值也等于x,但同时也会将x自增。第一次会执行这个语句,输出为x-1(等于4),因为在判断语句中x自减了。

所以,第一轮输出为4。

第二轮,x因为for循环自减了,此时x-- < 5也已满足,又因为在上一轮循环中加1,因此输出4+1-1-1=2;

第三轮与第二轮相似,不同之处在于没有执行printf("%d", x++),因此x的值减2,输出1

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-08-16
当前表达式内部,也就是分号分隔的一个语句内本回答被网友采纳
第2个回答  2021-12-16
不知道题主描述的自加与自减是不是 i++,i--,++i,--i,这四种操作;
如果是以上4种操作,则和函数没有关系,只和语句有关;如i++;语句,只作用到分号处,如果有【,】运算符,则截止到【,】
相似回答