Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

พิมพ์ความแตกต่างของตัวอักษรใน C vs C ++


ใน C ++ ขนาดของค่าคงที่อักขระคือ ถ่าน . ใน C ประเภทของค่าคงที่อักขระเป็นจำนวนเต็ม (int ). ดังนั้นใน C sizeof('a') คือ 4 สำหรับสถาปัตยกรรม 32 บิต และ CHAR_BIT คือ 8 แต่ sizeof(char) คือหนึ่งไบต์สำหรับทั้ง C และ C++

ตัวอย่าง

#include<stdio.h>
main() {
   printf("%d", sizeof('a'));
}

ผลลัพธ์

4

ตัวอย่าง

#include<iostream>
using namespace std;
main(){
   cout << sizeof('a');
}

ผลลัพธ์

1

ในทั้งสองกรณีเรากำลังทำเช่นเดียวกัน แต่ใน C sizeof('a') คืนค่า 4 เนื่องจากถือว่าเป็นจำนวนเต็ม แต่ใน C ++ มันคืนค่า 1 จะถือว่าเป็นอักขระ