ใน C++
ใน C++ double quotes ใช้เป็น string literals และ single quote กับตัวอักษรเดียวใช้เป็น character literals ตอนนี้เราจะดูว่าถ้าเราพยายามพิมพ์ multi-character string ด้วย single quote จะได้ผลลัพธ์อะไร
ตัวอย่างโค้ด
#include<iostream>
using namespace std;
main() {
cout << 'ABCD';
}
ผลลัพธ์
1094861636
โปรแกรมนี้คืนค่าเป็นตัวเลขใหญ่ ตอนนี้คำถามคือ ตัวเลขนี้มีความหมายอะไร?
ตัวเลขนี้ไม่ใช่ memory address มันถูกสร้างจากค่า ASCII ของตัวอักษรเหล่านั้น ในตัวอย่างเราใช้ A, B, C, D ใน Hex ค่า ASCII ของพวกมันคือ 41, 42, 43 และ 44 ดังนั้นถ้าเราวางตัวเลขต่อกัน รหัส hex จะเป็น 41424344 ตอนแปลงเป็น decimal จะได้ 1094861636