اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

اندازه‌ی یک کاراکتر در C++ ثابت نیست؟

0 امتیاز
278 نمایش

مگه اندازه‌ی یک نوع داده (به طور خاص در این‌جا کاراکتر) در C++ ثابت نیست؟ چرا کد زیر دو خروجی مختلف چاپ می‌کنه؟

#include <stdio.h>
int main()
{
  char C = 'x';
  printf("%d", sizeof(C));
  printf("%d", sizeof('x'));
  return 0;
}
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده شنبه ۱۰ فروردین ۱۳۹۲ در C++ توسط prodo  
بازتگ شده سه شنبه ۱۸ تیر ۱۳۹۲

1 پاسخ

0 امتیاز

در کامپایلر C++ (مشخصاً gcc) بدون اشکال اجرا شد و ۱ و ۱ چاپ کرد. اما در کامپایلر C اعداد ۱ و ۴ رو چاپ کرد.
فکر کنم در C لیترال کاراکتری به صورت عدد صحیح int در نظر گرفته می‌شه. بنابراین sizeof('x') مثل sizeof(int) می‌مونه.

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده دوشنبه ۶ خرداد ۱۳۹۲ توسط prodo