ขนาดของตัวละครใน 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
) ผลเป็นผลมาจากประเภทsizeof
size_t
ทั้งแปลงเพื่อใช้หล่อหรือหากการดำเนินการของคุณสนับสนุนการใช้งานint
"%zu"