关于加加减减运算符在printf函数中的一些规则

最近学习C语言时遇到一些关于加加减减运算符的基础问题,在查询中发现此类文章并不多,可能过于基础,用得也不多,对于我这种新手小白来说比较难以理解,于是想记录一下加加减减运算符在printf的一些规则

下面是一段基础程序,你可以自己试试看是否能算出来会输出多少

下面是运行的到的结果,不知道和你算的是否一样呢?

 

在printf语句中,加加减减运算符是这样计算的:

首先,从右往左计算,且前置++或--需要到从右到左计算完后才填最终的值,遇到前置++或--时,i的值会相应加或减1,遇到后置++或--时先填值再加或减1,遇到无加加减减运算符时,则不作任何操作,但此时的h的值也需要算完后等于最终的值,描述的有点抽象啊,直接看上面这道例题的过程吧

从右往左算,即先算下面这个数

其为前置++,则现在h的值为8+1=9;但printf函数的最后一个%d并不直接填9,而是要等到全部算完之后得到h的最终值时等于这最终值

下一个数

其为后置--,则可直接填入h的值,即这个数输出时为-9,之后我们要减1,即现在h的值为8;

再往下

之后4个数与上面相同计算方法,从右往左算,从右往左依次值为为-8,9,8,9,则这几个数输出时就为这几个值,计算完此时h的值为8

再往下

到下面三个数时,和前面一样计算,即该加的加,该减的减,但不是最终数值,都要到最后计算完后与最终的h的值相同,计算完后h的值为9

下面这个数即第一个数无加加减减运算符则不操作,最后可得最终h的值为9

则下面这几个数都为9

 最终就输出9 ,9,9,9 ,9,8,9,-8,-9,9

总结:在C语言的printf函数中有加加减减运算符时有以下规则

1.从右往左算,

2.h,++h,或--h,为计算完的最终h的值,但在从右往左计算的过程中需要正常加或减1

3.遇到h--或h++,先填入此时h的值,再加或减1

 PS:初次写这种blog,没想到挺简单一问题写了这么长,也许还有一些出错的地方,望大家包容包容,这是一个超基础的问题,新手小白学c时应该都会遇到,希望大家能够从中有所收获吧,有什么不懂的也可以和我讨论讨论,共同学习,共同成长,加油,C语言yyds

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值