回答編集履歴

2

追記

2018/01/30 07:30

投稿

can110
can110

スコア38266

test CHANGED
@@ -11,3 +11,25 @@
11
11
  ```
12
12
 
13
13
  [実行例](https://ideone.com/2LSgMy)
14
+
15
+
16
+
17
+ `VS2015`環境にて警告`warning C4477: 'scanf' : 書式文字列 '%c' には、型 'char *' の引数が必要ですが、可変個引数 1 は型 'int *' です`が発生することが確認できました。環境(ビルド設定)によってはエラー扱いになっているかもしれません。
18
+
19
+ とりあえず回避するには面倒でも
20
+
21
+ ```C++
22
+
23
+ char c = 0;
24
+
25
+ scanf( "%c", &c);
26
+
27
+ int a = c;
28
+
29
+ ```
30
+
31
+ のようにいったん`char`型変数を利用すればすればよいです。
32
+
33
+
34
+
35
+ ただし`VS2015`では引き続き`warning C4996`も出ますが、それは別の話ということで措きます。

1

実行例を追記

2018/01/30 07:30

投稿

can110
can110

スコア38266

test CHANGED
@@ -9,3 +9,5 @@
9
9
  printf("c=%d\n", c); // '97(=0x61)'
10
10
 
11
11
  ```
12
+
13
+ [実行例](https://ideone.com/2LSgMy)