Rumah > pembangunan bahagian belakang > C++ > Teka-teki tentang ungkapan C/C++ R-Value?

Teka-teki tentang ungkapan C/C++ R-Value?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2023-09-15 18:05:02
ke hadapan
1207 orang telah melayarinya

C/C++ R-Value表达式上的谜题?

Di sini kita akan melihat teka-teki. Katakan ada program seperti di bawah, kita kena beritahu apa itu output dan kenapa?

Contoh

#include<iostream>
using namespace std;
int main() {
   int x = 0xab;
   ~x;
   cout << hex << x;
}
Salin selepas log masuk

Jadi apakah outputnya? ~x sedang menjalankan operasi pelengkap. Jadi adakah ia memaparkan hasil pelengkap kedua-duanya dalam heks?

Output adalah seperti berikut

Output

ab
Salin selepas log masuk

Jadi, tiada perubahan. tapi kenapa? Sebabnya ialah ~x sedang menukar x kepada bentuk pelengkapnya, tetapi nilainya tidak diberikan kepada mana-mana pembolehubah. Ungkapan ini ialah ungkapan nilai R. Nilai l tidak disimpan ke dalam beberapa pembolehubah sehingga ia digunakan. Jika kita masukkan nilai L ia akan kelihatan seperti ini -

Contoh

#include<iostream>
using namespace std;
int main() {
   int x = 0xab;
   x = ~x;
   cout << hex << x;
}
Salin selepas log masuk

Output

ffffff54
Salin selepas log masuk

Atas ialah kandungan terperinci Teka-teki tentang ungkapan C/C++ R-Value?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan