ขนาดของตัวละครใน C และ C ++ คืออะไร? เท่าที่ฉันรู้ขนาดของถ่านเท่ากับ 1 ไบต์ทั้งใน C และ C ++
#include <stdio.h>
int main()
{
printf("Size of char : %d\n", sizeof(char));
return 0;
}
#include <iostream>
int main()
{
std::cout << "Size of char : " << sizeof(char) << "\n";
return 0;
}
ไม่น่าประหลาดใจทั้งคู่ให้ผลลัพธ์: Size of char : 1
ตอนนี้เรารู้ว่าตัวละครจะแสดงเป็น'a', 'b', 'c', '|', ... ดังนั้นฉันเพียงแค่ปรับเปลี่ยนรหัสดังกล่าวข้างต้นเหล่านี้:
ใน C:
#include <stdio.h>
int main()
{
char a = 'a';
printf("Size of char : %d\n", sizeof(a));
printf("Size of char : %d\n", sizeof('a'));
return 0;
}
Size of char : 1
Size of char : 4
ใน C ++:
#include <iostream>
int main()
{
char a = 'a';
std::cout << "Size of char : " << sizeof(a) << "\n";
std::cout << "Size of char : " << sizeof('a') << "\n";
return 0;
}
Size of char : 1
Size of char : 1
เหตุใดจึงsizeof('a')ส่งกลับค่าที่แตกต่างใน C และ C ++
"%|"รูปแบบต้องมีintอาร์กิวเมนต์ (หรือบางสิ่งบางอย่างที่ส่งเสริมการint) ผลเป็นผลมาจากประเภทsizeofsize_tทั้งแปลงเพื่อใช้หล่อหรือหากการดำเนินการของคุณสนับสนุนการใช้งานint"%zu"