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

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

WBOY
Lepaskan: 2023-09-15 18:05:02
ke hadapan
1103 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!

sumber:tutorialspoint.com
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