陰暦とシフトJIS(16進数?)
しょうもないプログラム第3弾。月を入力すると陰暦(旧暦)での呼び方を表示します。J科のMに聞いたswitch文使ってみました。ここまではよかったんですけど、最初のprintf文の中で改行しようとしたらエラー出たんですよ。文法間違えてないしなんでだろって思って、ググってみたらなんかシフトJISだと、「表」って漢字が16進数の0x955cで登録されてるらしいんですよね。で、改行のための「\n」の「\」は0x5cで登録されてるんですわ。だからうまく処理できないみたいでした。知恵袋の通りに「表示」を「表\示」にしたら問題なく動作。んーなんかこのへん難しくてよくわからん(・ω・`)
参考にした知恵袋
緊急 学習用C言語開発環境(仮)で #include <stdio.h> int main(void) { ... - Yahoo!知恵袋
#include <stdio.h> int main(void) { printf("知りたい月を入力してください。\n旧暦での呼び方を表\示します。\n"); // printf("旧暦での呼び方を表示します。\n"); int month; scanf("%d",&month); switch (month) { case 1: printf("睦月\n"); break; case 2: printf("如月\n"); break; case 3: printf("弥生\n"); break; case 4: printf("卯月\n"); break; case 5: printf("皐月\n"); break; case 6: printf("水無月\n"); break; case 7: printf("文月\n"); break; case 8: printf("葉月\n"); break; case 9: printf("長月\n"); break; case 10: printf("神無月\n"); break; case 11: printf("霜月\n"); break; case 12: printf("師走\n"); break; default: printf("入力が間違っていますよ。\n"); break; } return 0; }