可能性の重複:Cについては
Size of character ('a') in C/C++CでのsizeofおよびC++
#include <stdio.h>
int main()
{
printf("%d" , sizeof('a'));
return 0;
}
#include <iostream>
using namespace std;
int main(){
cout << sizeof('a');
return 0;
}
は、それはC++、それが1を与えるためのに対し、答えとして4を与えますか? 私の質問は、言語が文字定数を異なって解釈するのはなぜですか?
何か興味深い(おそらくあまり有用でないかもしれませんが)あなたは合法的に 'abcd'(二重ではなく一重引用符)のようなものを参照することができます... charまたはcharの文字列を定義しません。その値は、一緒に張られた各文字のascii値に基づいています。 – mah
おそらく、ansiとunicodeの違いはありますが、それは推測です –
私がよく知っているルールは正反対です( 'sizeof( 'a')'はCでは4、C++では1です)。 –