回答編集履歴
1
誤記訂正とサンプルコード追加
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
+
質問1 `printf("%d \n", ch[0]);`
|
1
|
-
質問
|
2
|
+
質問2 `printf("i:%d c:%d \n", i, c);`
|
2
|
-
質問2 `printf("%d \n", ch[0]);`
|
3
3
|
|
4
4
|
気になることはデバッグしたり処理途中の変数の中身を出力すると一目瞭然なことがありますよ。
|
5
5
|
ch[0]の中身は整数値で、例えば英小文字の'a'は文字コード97です
|
@@ -58,4 +58,27 @@
|
|
58
58
|
getchar();
|
59
59
|
return (0);
|
60
60
|
}
|
61
|
+
```
|
62
|
+
|
63
|
+
|
64
|
+
参考までに同じ結果を返すサンプルです。
|
65
|
+
文字コードが分かっているので配列に文字列を用意してループで添字を判定しなくとも計算だけで同じ結果を出力出来ます。
|
66
|
+
```C
|
67
|
+
#include <stdio.h>
|
68
|
+
|
69
|
+
int main(void) {
|
70
|
+
char ch[4];
|
71
|
+
printf("英文字を入力してください:");
|
72
|
+
scanf("%s", ch);
|
73
|
+
|
74
|
+
if (ch[0] >= 65 && ch[0] <= 90)
|
75
|
+
printf("それは英大文字の%d番目です。\n", ch[0] - 64);
|
76
|
+
else if (ch[0] >= 97 && ch[0] <= 122)
|
77
|
+
printf("それは英小文字の%d番目です。\n", ch[0] - 96);
|
78
|
+
else
|
79
|
+
printf("それは英文字ではありません。\n");
|
80
|
+
|
81
|
+
getchar();
|
82
|
+
return (0);
|
83
|
+
}
|
61
84
|
```
|