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

chenyzzzzz

++在后面表示表达式先使用后执行自加 ++在前面表示表达式先自加在使用--道理一样-(k++)表达式先使用k的值取反为-3,表达式结束后k在自加1 所以k值为4

慕spring

k++,先使用k的值3,所以表达式是-3,然后k再加1,k的值就变成4;如果-(++k),这个表达式,就是k先加1,然后整个表达式变成-4;
打开App,查看更多内容
随时随地看视频慕课网APP