首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

前++后++有关问题

2012-05-09 
前++后++问题1. 下面这段程序有问题吗?如果有问题,请指出问题在哪里?如没问题,请写出下面这段程序的输出结

前++后++问题
1. 下面这段程序有问题吗?如果有问题,请指出问题在哪里?如没问题,请写出下面这段程序的输出结果:

C/C++ code
#include <iostream>using namespace std;int main(void) {    int c = 100;    c+=(c++);     cout<<c<<endl; //200     c=100;    c+=(++c);      cout<<c<<endl;//202    c=100;    (++c)+=(c++);    cout<<c<<endl;//203    c=100;    (++c)+=(++c);//204    cout<<c<<endl;}

我的编译环境是这个以上的结果,第一个201的不是c=c+c++吗? 后++不是之后再+吗?那不是c=100+100吗?
其他我做出来了当然有可能也是碰对的,求解析
另外a+=b 是a=a+b 还是 a=b+a?

[解决办法]
c+=(c++); 
属于未定义行为,不要这样写代码,具体多少依赖编译器的实现
[解决办法]
优先级问题,看看书把
a +=b=>a=a+b,这里还要看看b是否加了括号,这个会有影响的

热点排行