d*******d 发帖数: 2050 | 1 int a =1 ;
cout << a << a++ << a << endl;
结果是什么,why? |
d**e 发帖数: 6098 | 2 112?
【在 d*******d 的大作中提到】 : int a =1 ; : cout << a << a++ << a << endl; : 结果是什么,why?
|
d*******d 发帖数: 2050 | 3 不对啊.
【在 d**e 的大作中提到】 : 112?
|
h*********n 发帖数: 11319 | 4 211?
不光cout,大部分表达式都是从右往左计算的
【在 d*******d 的大作中提到】 : 不对啊.
|
d*******d 发帖数: 2050 | 5 也不对啊
我知道从左往右,我以为是211, 可run出来不是阿.
所以来问阿. |
d*******d 发帖数: 2050 | 6 结果是212,
这怎么解释阿?
【在 d*******d 的大作中提到】 : int a =1 ; : cout << a << a++ << a << endl; : 结果是什么,why?
|
E***a 发帖数: 297 | |
d*******d 发帖数: 2050 | 8 int a =1 ;
cout << a << a++ << a << endl;
结果是什么,why? |
d**e 发帖数: 6098 | 9 112?
【在 d*******d 的大作中提到】 : int a =1 ; : cout << a << a++ << a << endl; : 结果是什么,why?
|
d*******d 发帖数: 2050 | 10 不对啊.
【在 d**e 的大作中提到】 : 112?
|
|
|
h*********n 发帖数: 11319 | 11 211?
不光cout,大部分表达式都是从右往左计算的
【在 d*******d 的大作中提到】 : 不对啊.
|
d*******d 发帖数: 2050 | 12 也不对啊
我知道从左往右,我以为是211, 可run出来不是阿.
所以来问阿. |
d*******d 发帖数: 2050 | 13 结果是212,
这怎么解释阿?
【在 d*******d 的大作中提到】 : int a =1 ; : cout << a << a++ << a << endl; : 结果是什么,why?
|
E***a 发帖数: 297 | |
A**u 发帖数: 2458 | 15 请教大牛一下这题目
输出是 212
为啥呢
要是212,解释只可能是
再重载<<运行前, 3个重载函数的参数a,a++,a都已经准备好了,分别是2,1,2
然后从左到右输出
这很奇怪啊,难道不是一个一个的函数调用吗?
【在 d*******d 的大作中提到】 : int a =1 ; : cout << a << a++ << a << endl; : 结果是什么,why?
|
C***U 发帖数: 2406 | 16 我看过的书上都会说这个由compiler的实现决定的
答案不唯一
【在 d*******d 的大作中提到】 : int a =1 ; : cout << a << a++ << a << endl; : 结果是什么,why?
|
A**u 发帖数: 2458 | 17 为啥呢...
请详解
【在 C***U 的大作中提到】 : 我看过的书上都会说这个由compiler的实现决定的 : 答案不唯一
|
S******t 发帖数: 151 | 18 C++语言标准并没有严格定义这种语句在编译器上编译后的执行顺序,所以答案是不唯
一的。 |
r****t 发帖数: 10904 | 19 你啥意思? 从左往右的话,应该是 112. (不是说结果应该是 112)
说从右到左的应该是 211,我就躲了。
【在 d*******d 的大作中提到】 : 也不对啊 : 我知道从左往右,我以为是211, 可run出来不是阿. : 所以来问阿.
|
c****p 发帖数: 6474 | 20 pick up a brick nearest to you and beat the questioner to death.
【在 d*******d 的大作中提到】 : int a =1 ; : cout << a << a++ << a << endl; : 结果是什么,why?
|