猿问
C语言小白的一个问题
为什么-(k++),如果k的初值为3,则整个表达式的值为-3,而k的最终结果为4?
K没病
浏览 1573
回答 3
3回答
onemoo
“k++ 表达式的值”和“k 的值”是两个东西。每个表达式都有值。k++ 这个后置自增表达式的值就是 k 当时的值。这个表达式额外的副作用是使 k 自增,但这不影响表达式自身的值。所以 k++ 表达式的值为 3,-(k++) 表达式的值为 -3。而 k 会被自增为 4。具体详解可参考我的另一个回答 http://www.imooc.com/qadetail/83948
3
0
0
chenyzzzzz
++在后面表示表达式先使用后执行自加 ++在前面表示表达式先自加在使用--道理一样-(k++)表达式先使用k的值取反为-3,表达式结束后k在自加1 所以k值为4
2
0
0
慕spring
k++,先使用k的值3,所以表达式是-3,然后k再加1,k的值就变成4;如果-(++k),这个表达式,就是k先加1,然后整个表达式变成-4;
0
0
0
随时随地看视频
慕课网APP
相关分类
C
typedef入门问题
1 回答
我要回答