
这里我们将看到一个谜题。假设有一个如下所示的程序,我们必须告诉输出什么以及为什么?
#include<iostream>
using namespace std;
int main() {
int x = 0xab;
~x;
cout << hex << x;
}那么输出是什么? ~x 正在执行补码操作。那么它是否以十六进制形式显示补码结果?
输出如下
ab
所以,没有变化。但为什么?原因是 ~x 正在将 x 转换为其补码形式,但该值未分配给任何变量。该表达式为R值表达式。在使用左值之前,它不会被存储到某些变量中。如果我们输入 L 值,它将如下所示 -
#include<iostream>
using namespace std;
int main() {
int x = 0xab;
x = ~x;
cout << hex << x;
}ffffff54
Atas ialah kandungan terperinci C/C++ R-Value表达式上的谜题?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Bagaimana untuk menyemak sama ada port 445 ditutup
Penggunaan rewritecond
Tujuan peringkat
Bagaimana untuk mengalih keluar beberapa elemen pertama tatasusunan dalam php
Syiling kurang nilai untuk disimpan pada tahun 2024
Bagaimana untuk membeli dan menjual Bitcoin di okex
langit birucmyk
WeChat memulihkan sejarah sembang