質問: a - 32; printf("%cの大文字は%c\n",a, b); goto end; } else printf("ふざけるな"); goto Loop; end: return 0; } ``` ### 試したこと 変数aを空にすれば良いのかなと、a=¥0; などと goto Loop;の前に入れてみたのですが 変わりませんでした 何か根本的に違う気がします ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: ・・・回答になってしまいますが、“こういう方法もある”と言うことで・・・ ``` usr~/test/c % cat ct0.c #include int main(void) { char a, b, buf[32]; printf("英字を一字キー入力せよ"); // for (;;) { // 永久ループ while(1)でも可 // scanf_s("%c", &a); fgets(buf, sizeof buf, stdin); // otnさんの指摘 a = buf[0]; // 先頭に空白があればNG // if (a <= 'Z' && a >= 'A') { 数学で言うところの a <= X <= bに合わせた if ('A' <= a && a <= 'Z') { b = a + 32; printf("%cの小文字は%c\n", a, b); break; // } else if (a <= 'z' && a >= 'a') { } else if ('a' <= a && a <= 'z') { b = a - 32; printf("%cの大文字は%c\n", a, b); break; } else { printf("ふざけるな"); } } return 0; } usr~/test/c % ./a.out 英字を一字キー入力せよ0 ふざけるな0 ふざけるなa aの大文字はA usr~/test/c % ./a.out 英字を一字キー入力せよ 2 ふざけるな a ふざけるな d ふざけるなc cの大文字はC usr~/test/c % ```