[c语言]c语言中a++ ++a在加法运算中和printf函数中的运算顺序(初学者版)

目录

加法运算顺序:

结论:

具体详情:

printf函数中的运算顺序:

结论:

具体详情:


加法运算顺序:

结论:

a++ ++a在加法中按如下顺序:

1.sum的值先加上a++中的a;

2.然后再进行++a中的++运算;

3.然后加上a中的a的值;

4.然后再进行a++中的++运算;

5.然后再加上++a中的a的值;

最后得到sum。

具体详情:

#include<stdio.h>
int main()
{
    int a = 0;
    int sum= (a++) + a + (++a);
    printf("a的最后值是");
    printf("%d\n", a);
    printf("sum的值是");
    printf("%d\n", sum);
}

运行结果:

步骤:

1.先加上a++中的中的a(0);

2.然后进行++a的++运算,a的值变成了1;

3.然后加上a中的a(1);

4.然后进行a++中的++运算,a的值变成了2;

5.然后加上a++中的a(2);

最后得到sum=3=0+1+2。

下面是另外一次测试,一样满足结论:

#include<stdio.h>
int main()
{
    int a = 0;
    int sum = (++a)+(a++) + a + (++a)+(a++);
    printf("a的最后值是");
    printf("%d\n", a);
    printf("sum的值是");
    printf("%d\n", sum);
}

运行结果:

1.先加上a++中的a(0)

2.然后进行++a中的++运算,a的值经过两次++变成2;

3.然后加上a中的a(2);

4.然后进行a++中的++运算,a的值经过两次++变成4;

5.然后加上++a中的a(4);

最后得到sum=10=4+0+2+4+0;

printf函数中的运算顺序:

结论:

一.在printf函数中运算是从右向左进行的;

二.a中的a的值和++a中的a的值是一样的,并且是进行完所有运算后才输出的;

具体详情:

#include<stdio.h>
int main()
{
	int a = 0;
	printf("%d %d %d %d %d", a++, ++a, a, a++, ++a);
}

运行结果如下:

运行顺序:

1.进行第5个的++运算,然后a的值变为1;

2.然后第4个位置输出的值输出为1;

3.然后进行第四个位置的++运算,然后a的值变成2;

4.然后进行第二个的++运算,然后a的值变成3;

5然后第1个位置输出值为3;

6.然后进行第一个位置的++运算,然后a的值变成4;

7.然后第五个位置和第三个位置和第二个位置进行输出;

最后得到

第一个位置为3

第二个位置为4

第三个位置为4

第四个位置为1

第五个位置为4。

以上即为a++ ++a在加法和printf函数中的运算顺序。

谢谢观看

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值