C语言系统问题----高手请帮忙,拜托

[复制链接]
查看11 | 回复2 | 2008-4-28 12:19:26 | 显示全部楼层 |阅读模式
明白楼主的意思了。我用VC6.0编译,结果都是6。这种题目不是很有意义
回复

使用道具 举报

千问 | 2008-4-28 12:19:26 | 显示全部楼层
不能在一条语句中对同一个变量使用++两次,这是未定义行为,不同编译器会得到不同结果。所以m=(i++)+(i++)和(j++)+(j++)都是错误的语句。比如i = 3;m = (++i) + (++i);通常得到的不是你想要的4 + 5而是5 + 5。而m=(i++)+(i++); 和printf("q=%d",(j++)+(j++)); 反正都是错误的,所以编译器给你返回不同结果也是不值得奇怪。
回复

使用道具 举报

千问 | 2008-4-28 12:19:26 | 显示全部楼层
m = 6 ?我觉得这可能是7 或 8 啊算我错了 我运行了 vc++6.0中 结果为 两个都是6我看教材说是i++在遇到节点后才进行加运算而节点包括 ‘;’‘,’等等 但运算符(当然包括+)不是,所以上面两个的结果都为6
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行