int i = 0; printf("%d %d %d %d %d",i++,i++,i++,i++,i++); 输出的是4 3 2 1 0 int j=0; printf("%d %d %d %d %d",++j,++j,++j,++j,++j); 输出的是 5 5 5 5 5 只要是置前自增,输出的结果就是5,滞后自增就是按顺序的结果。
[quote=引用 1 楼 lin5161678 的回复:] 代码错了 这是未定义行为 编译器处理方式无法确定 有多种不同输出 没有意义
谁说“参数是从右向左入栈的”?
这个应该是和编译器有关系。我用的是gcc
[quote=引用 5 楼 baidu_37097818 的回复:] 旁边如果真有人这么写就会被我打一顿
旁边如果真有人这么写就会被我打一顿
代码错了 这是未定义行为 编译器处理方式无法确定 有多种不同输出 没有意义
69,371
社区成员
243,082
社区内容
加载中
试试用AI创作助手写篇文章吧