printf("円記号を表示します:%d\n",'¥');でエラーが発生
MacBookProでC言語を学習中.
printfで円マークを表示させるプログラムを書いたが,コンパイルでエラーとなってしまう.
なぜコンパイルできないのでしょうか?
【エディタ】
Sublime Text
文字エンコードUTF-8
【ソース】
#include <stdio.h>
int main(void)
{
printf("円記号を表示します:%d\n",'¥');
return 0;
}
【エラー分】
sample5_2.c:6:46: error: character too large for enclosing character literal
type
printf("円記号を表示します:%d\n",'¥');
【分からないなりに考えたこと】
エラー文から¥の文字コードのサイズが大きいと考え,¥の文字コードを調べた.
しかし,¥の文字コードは194 165で2バイト.%dはint short型なので2バイトまで表示できるという認識.
したがって,エラーが出る理由が余計に分からない状況です...
ご教授いただければ幸いです.
MacBook Pro 13″, 10.14