C++;初学者赋值运算符 我是C++初学者,我做这个例子是赋值操作符的代码。我不知道我做错了什么 #include <iostream> using namespace std; int main() { int x = 200; int y = 100; x += y; cout << x << endl; //x += y; // x = x + y, x = 200 + 100, output 300. x -= y; cout << x << endl; //x -= y; // x = x - y, x = 200 - 100, output 100. x /= y; cout << x << endl; //x /= y; // x = x / y, x = 200 / 100, output 2. x %= y; cout << x << endl; //x % y; // x = % y, x = 200 % 100, output 0. return 0; }

C++;初学者赋值运算符 我是C++初学者,我做这个例子是赋值操作符的代码。我不知道我做错了什么 #include <iostream> using namespace std; int main() { int x = 200; int y = 100; x += y; cout << x << endl; //x += y; // x = x + y, x = 200 + 100, output 300. x -= y; cout << x << endl; //x -= y; // x = x - y, x = 200 - 100, output 100. x /= y; cout << x << endl; //x /= y; // x = x / y, x = 200 / 100, output 2. x %= y; cout << x << endl; //x % y; // x = % y, x = 200 % 100, output 0. return 0; },c++,operators,variable-assignment,C++,Operators,Variable Assignment,应该是什么时候 x -= y = 100 x /= y = 2 x %= y = 0 它实际上是把以前的结果加起来的。如何阻止代码将结果添加到下一行?谢谢 每次你做作业时,比如x+=y,它改变了x的值 x += y; 相当于 x = x + y; 这意味着任务。x的值正在变化。现在是300。后面的作业也会发生同样的情况 注意:如果不想更改x和y的值,最好在其他变量中进行赋值 int x = 200, y = 100, t; t = x + y; cout << t <&l

应该是什么时候

x -= y = 100
x /= y = 2
x %= y = 0

它实际上是把以前的结果加起来的。如何阻止代码将结果添加到下一行?谢谢

每次你做作业时,比如
x+=y,它改变了x的值

x += y;
相当于

x = x + y;
这意味着任务。x的值正在变化。现在是300。后面的作业也会发生同样的情况

注意:如果不想更改x和y的值,最好在其他变量中进行赋值

int x = 200, y = 100, t;
t = x + y; cout << t << endl;
t = x - y; cout << t << endl;
t = x * y; cout << t << endl;
t = (int) x / y; cout << t << endl;
int x = 200;
int y = 100;
int x_addition = x + y;
std::cout << x_addition << std::endl;
intx=200,y=100,t;

t=x+y;cout当
x
y
为变量且
U
为操作时
xu=y
相当于:

x = x U y;
x = x + y;
cout << x << endl; // x is now 300
x = x - y;
cout << x << endl; // x is now 200
x = x / y;
cout << x << endl; // x is now 2
x = x % y;
cout << x << endl; // x is now 2
这意味着原始变量正在被修改并与结果一起赋值

您的代码相当于:

x = x U y;
x = x + y;
cout << x << endl; // x is now 300
x = x - y;
cout << x << endl; // x is now 200
x = x / y;
cout << x << endl; // x is now 2
x = x % y;
cout << x << endl; // x is now 2
或:

intx=200;
int x=100;
int结果=x+y;

cout正如您在代码注释中提到的,
x+=y
的结果相当于
x=x+y
,这意味着
x
的值将发生变化。因此,在下一个数学作业中使用新值
x
,300也就不足为奇了

如果您想避免这一点,请考虑将<代码> X+Y 的结果保存到另一个变量。

int x = 200, y = 100, t;
t = x + y; cout << t << endl;
t = x - y; cout << t << endl;
t = x * y; cout << t << endl;
t = (int) x / y; cout << t << endl;
int x = 200;
int y = 100;
int x_addition = x + y;
std::cout << x_addition << std::endl;
intx=200;
int y=100;
int x_加法=x+y;

std::cout您不指望加法运算值

x=200,y=100;    
x+=y;//x=200+100=300,x=300,y=100   
x-=y;//x=300-100=200,x=200,y=100    

这里您忘记了在减法之前有加法操作

尝试在每次赋值后将x重置回200。像这样:

#include <iostream>

using namespace std;
int main()
{
    int x = 200; int y = 100;
    x += y; cout << x << endl; 
    x = 200;
    x /= y; cout << x << endl; 
    x = 200;
    x %= y; cout << x << endl; 
    return 0;
}
#包括
使用名称空间std;
int main()
{
整数x=200;整数y=100;

x+=y;cout您希望
x
y
的原始值永远保留,但事实并非如此。像
x+=y;
x=x+y;
这样的赋值会更改变量的值(在本例中
x
,即等号左侧的变量)。上一个值被覆盖,因此丢失

如果不想更改原始值,则必须将结果分配给其他变量(例如,一个名为
temp
,每次都可以覆盖的变量),或者根本不分配,只需将计算结果发送到
cout

以temp变量为例:

int x = 200; int y = 100; int temp;
temp = x + y; cout << temp << endl; //temp = x + y, temp = 200 + 100, output 300.
temp = x - y; cout << temp << endl; //temp = x - y, temp = 200 - 100, output 100.

程序无法编译,因为它试图更改常量变量。

您正在使用累加运算符,因此您正在更改“x”的值

x += y; // x = 200 + 100 = 300
x -= y; // x = 300 - 100 = 200
x /= y; // x = 200 / 100 = 2
x %= y; // x = 2 % 100 = 2
相反,你可以做:

    int x = 200;
    int y = 100;
    cout << x + y << endl;
    cout << x - y << endl;
    cout << x / y << endl;
    cout << x % y << endl;
intx=200;
int y=100;

你不能假设每个命令后,
x
都会重置为200,但它不会。停止要求它累加结果。
-=
+=
/=
%=
都是累加运算符,它们将
=
之前的操作结果分配给左边的变量。你的第一个赋值是
x+=y
,因此下一个
x-=y
结果是
x==200
。没有结果的“相加”,您只需继续分配给
x
,如果这不是您想要的,那么就不要这样做……只需将xstart定义为200,并在每次操作之前将x重置为xstart
x += y; // x = 200 + 100 = 300
x -= y; // x = 300 - 100 = 200
x /= y; // x = 200 / 100 = 2
x %= y; // x = 2 % 100 = 2
    int x = 200;
    int y = 100;
    cout << x + y << endl;
    cout << x - y << endl;
    cout << x / y << endl;
    cout << x % y << endl;
    int x = 200;
    int y = 100;
    int result;

    result = x + y;
    cout << result << endl;

    result = x - y;
    cout << result << endl;

    result = x / y;
    cout << result << endl;

    result = x % y;
    cout << result << endl;