Saj*_*hir 1 c++ bitwise-operators assignment-operator comparison-operators relational-operators
我使用了大于和小于符号,它给出了输出!它是如何工作的?
int x = 2;
x >= 3;
cout << x; // output is 2
Run Code Online (Sandbox Code Playgroud)
而且输出也是不同的
int x = 2;
x = x > 3;
cout << x; // output is zero !! HOW ??
Run Code Online (Sandbox Code Playgroud)
表达方式
x >= 3
Run Code Online (Sandbox Code Playgroud)
是纯粹的比较。它测试变量的值是否x大于或等于 3。结果是0或1–x等于2它为零,假。
用分号终止表达式会创建一个语句。该语句执行比较,...没有别的。比较结果被丢弃,变量x保持不变。因此观察到的结果值2。
在x = x > 3;子表达式中x > 3是一个比较。它的结果是1如果比较成功,0否则。
由于您初始化x为2,比较的结果为假,即零。
其结果
x = x > 3;
Run Code Online (Sandbox Code Playgroud)
相当于
x = (x > 3);
Run Code Online (Sandbox Code Playgroud)
决心
x = 0;
Run Code Online (Sandbox Code Playgroud)
因此您观察到的输出。