鱼C论坛

 找回密码
 立即注册
查看: 6232|回复: 1

[已解决]请教:为什么同样的程序会有不同的结果?

[复制链接]
发表于 2015-4-2 09:11:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
void main()
{
int i=8;
printf("%d\t%d\t%d\t\n",++i,--i,i++);
        return;
}
这个很简单的程序,为什么VC编译运行的结果是8,7,8,gcc编译运行的结果却是9,9,8呢?同一程序的结果都不是唯一的,那谁还敢随便使用包含多个的自增和自减语句吗?
最佳答案
2015-4-5 09:55:54
因为C语言标准本本来就规定这样的程序运行结果不唯一啊,任何合法的C语言编译器都可以有自己的解释。
“那谁还敢随便使用包含多个的自增和自减语句吗?”你终于体会到了,真正开发的时候没人敢用这样的语句,用了,也要被别人逼着改回来。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-4-5 09:55:54 | 显示全部楼层    本楼为最佳答案   
因为C语言标准本本来就规定这样的程序运行结果不唯一啊,任何合法的C语言编译器都可以有自己的解释。
“那谁还敢随便使用包含多个的自增和自减语句吗?”你终于体会到了,真正开发的时候没人敢用这样的语句,用了,也要被别人逼着改回来。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 15:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表