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

大家看看以下输出什么和为什么解决办法

2012-06-11 
大家看看以下输出什么和为什么C/C++ codeint i 0, j 0i 0j (i++) + (i++) + (i++)cout j

大家看看以下输出什么和为什么

C/C++ code
        int i = 0, j = 0;        i = 0;        j = (i++) + (i++) + (i++);        cout << j << endl;        i = 0;        j = (++i) + (++i) + (++i);        cout << j << endl;        i = 0;        cout << (i++) << ends << (i++) << ends << (i++) << endl;        i = 0;        cout << (++i) << ends << (++i) << ends << (++i) << endl;        i = 0;        printf("%d %d %d\n", i++, i++, i++);        i = 0;        printf("%d %d %d\n", ++i, ++i, ++i);


[解决办法]
j = (i++) + (i++) + (i++); 这种在一个表达式里有多个对同一变量赋值的表达式是未定义的,编译器输出什么都是正确的。。

就算j等于10000也是正确,纠结这个干嘛

去看看这个把
http://topic.csdn.net/u/20110826/09/601ebe9c-c2ae-4d63-a4e2-506c618bb654.html

这种水贴CSDN上太多了,高手都不屑一顾了

热点排行