想问一道C语言的基础问题,谢谢大佬解答
#include <stdio.h>void main()
{
int i = 8;
printf("%d\n", ++i);
printf("%d\n", --i);
printf("%d\n", i++);
printf("%d\n", i--);
printf("%d\n", -i++);
printf("%d\n", -i--);
}
为什么最后两行编译出来的结果是-8和-9,-i++和-i--没搞懂
从右到左
-(i++ )因为后++在表达式里就是-(8)
i此时已经 9了,
- i--就是 -(9)
但i其实已经是 10 了
本帖最后由 夏三笙 于 2021-6-19 20:14 编辑
++和--在后面的话是作用效果要再下一个语句才实现,也可以说是先再本语句中执行其他操作最后再进行+1操作,比如-i++就是先打印出来-i然后再++,所以i就等于9了,到下一个的时候再先打印,就变成-9了,再--,i就等于8了,所以你最后再打印的话会显示是8
页:
[1]