若i =3,则printf("%d",-i++);输出的值为 -4为什么错了

2024-10-29 01:46:10
推荐回答(3个)
回答1:

-i ++是先处理-i, 然后再处理i++

打印的时候 -i = -3,打印结束之后,i ++, i = 4

因此输出应该是-3

printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf("<式样化字符串>",<参数表>)。

扩展资料

式样化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出;另一部分是式样化规定字符, 以"%"开端, 后跟一个或几个规定字符, 用来确定输出内容式样。 

函数printf从右到左压栈,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的,所以我们看见的结果是,从右边开始处理的。

回答2:

-i ++是先处理-i, 然后再处理i++
打印的时候 -i = -3,打印结束之后,i ++, i = 4
因此输出应该是-3

回答3:

不同编译器,结果估计不同吧!