查看一些工作簿问题,然后一个人要求我找到输出:
#include <iostream>
using namespace std;
int main()
{
int x, y;
x = 4;
y = 1;
while (x < 5) {
x = x + y / 3;
y = y + 1;
cout << "x = " << x << " " << "y = " << y << endl;
}
cout << "the sum of x and y is " << x + y << endl;
}
我的问题是为什么在第一次运行此程序后x = 4。我得到[x = 4 + 1/3]是[x = 5/3]因此3进入5次,余数为2.在第一次运行程序后,程序cout x = 1 y = 2而不是x = 4 y = 2?
答案 0 :(得分:4)
没有括号。 erg优先级高于添加,ergo:
x = x + y / 3
x = 4 + 1/3
因为1/3被截断为0。
x = 4