c语言i--i的值是多少??i是int,初值是3

来源:百度知道 编辑:UC知道 时间:2024/05/16 00:09:32
c语言i--i的值是多少??i是int,初值是3!
请详细说明!

i减去负i,
6-(-6)=12
如果是i---i的话...麻烦一些,
因为编译器便宜方向的不同,常常会得到不同的结果,
VC是从左向右进行便宜,而TC是从右向左,就分别得到
(i--)-i和i-(--i)两个结果,万幸在本例结果都是零.
我们在编码时势必摈弃这种摸棱两可的表示方法,我们的算法完全可以用更加显然的形式来表达.
关于自增和自减我们需要知道的就是其优先级是比较高的,
比+,-,*,/都要高,和逻辑!的优先级一样高.

i--i明显是错误的表达式,编译器会警告的.
根据编译器采用的大嘴算法,一般是会识别成(i--)i的,这个不是个表达式,是会给出警告的.如果你想表达i-(-i)就应该用括号扩好.
如果想弄i---i这一类的话,它的值和编译器的实现也是相关联的,最好不要写这种代码,一来和编译器实现相关,不该这么写,二来也不符合程序可读性第一的原则

建议看看编译原理

理论上是这样子的,但我试过了,这样写,编译是有错误的!
但如果加括号,写成i-(-i),就对了!

中间是不是只有两个-?
如果中间只有两个--的话.
那就是
3-(-3)=6

标准答案:2

int i; i=1
i+=i++i
最后的i是多少嘛?