对c语言中自增自减的理解
展开全部
printf()是从右到左入栈的,而且和编译器有关,我这输出不是你这个结果
从右到左,
1:a++
,入栈为1,a为2,
2:++a
,入栈为3,a为3,
3:a++,入
栈为3,a为4
从右到左,
1:a++
,入栈为1,a为2,
2:++a
,入栈为3,a为3,
3:a++,入
栈为3,a为4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
概念:
前置还是后置自增自减区别是在此语句中的,对后一个语句没有影响。
前置在此语句中不加1,运行完后加1;
后置在此语句中加1,
运行完后也是加1后的值。
实际:
printf(。。。)中的运算,是从右往左运行的,算一个语句
所以,先右边a++后置自增得1运行完后的,当前语句a为1,
后++a前置得2,当前语句a为2
,
最后,
最左边的a++,
当前语句a为2;
前置还是后置自增自减区别是在此语句中的,对后一个语句没有影响。
前置在此语句中不加1,运行完后加1;
后置在此语句中加1,
运行完后也是加1后的值。
实际:
printf(。。。)中的运算,是从右往左运行的,算一个语句
所以,先右边a++后置自增得1运行完后的,当前语句a为1,
后++a前置得2,当前语句a为2
,
最后,
最左边的a++,
当前语句a为2;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询