作业帮 > 综合 > 作业

#include void main() { int i=10; printf("%d,%d,%d\n",++i,i,i

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 13:55:52
#include void main() { int i=10; printf("%d,%d,%d\n",++i,i,i++); printf("%d\n",i); }
结果是 12 11 10 最后输出一个12
printf的参数是从 后面往前计算的,先是 i++ 这个是先使用i 10 然后改变i的值加1 i的值变为11
第二个输出i 也就是 11
第三个输出 ++i 是先改变i的值为12 然后再使用i输出 就是12
再问:
再答: 怎么不一样啊  
这难道和不同的编译器有关?