3 回答

TA贡献2003条经验 获得超2个赞
(1)sum += i++;
这里已经i++了,所以i由1变成了2;
(2)这句前加i=i++;结果也是对的
当然不对了,不知道你怎么弄的.估计是你加了以后没重新编译;
没加:
How many integers do you want to sum: 5
Values are:
1 2 3 4 5
Sum is 15
加了以后:
How many integers do you want to sum: 5
Values are:
1 3 5
Sum is 12
(3)如果在这里 输入cout<<i;(我想就是看看i回while的返回值,填上这句话后为什么就不对了?
怎么不对了.
How many integers do you want to sum: 5
Values are:
12 23 34 45 56
Sum is 15
Press any key to continue
1后边的2,第二个2后边的3,第二个3后边的4....
就是i回while的返回值.
因为cout << std::setw(5) << i;输出i的值之后,然后执行了cout<<i;中间没任何间隔,所以两次输出就连在了一起.
再说一点i=i++;其实就是i++;
但 sum += i++;这个写法确实不好,很容易出错的。
这些问题都很简单,不知道楼主怎么学的.有问题多问老师还有同学,在百度上是得不到什么好答案的.再就是多上机练,多想.认真点.
希望我的回答对你有用.
添加回答
举报