回答編集履歴

1

手を入れてみました

2021/06/11 11:56

投稿

pepperleaf
pepperleaf

スコア6383

test CHANGED
@@ -11,3 +11,63 @@
11
11
  そして、`(caln = 1)` これ、比較で無く、代入になってますが、正しいですか?
12
12
 
13
13
    (`caln` に 1 を代入)
14
+
15
+
16
+
17
+ -------------
18
+
19
+ ざっと直してみると、、こんな感じ?
20
+
21
+ ```C
22
+
23
+ int main(void)
24
+
25
+ {
26
+
27
+ int a, b; // 演算する2値
28
+
29
+ int caln; // 演算の種類
30
+
31
+ int (* func[4])(int, int) = {sum, diff, prod, quot}; // 関数へのポインタの配列
32
+
33
+
34
+
35
+ printf("整数を入力してください -> ");
36
+
37
+ scanf("%d", &a);
38
+
39
+ printf("もうひとつ整数を入力してください -> ");
40
+
41
+ scanf("%d", &b);
42
+
43
+ printf("計算を選んでください(1)足し算 (2)引き算 (3)掛け算 (4)割り算 -> ");
44
+
45
+ scanf("%d", &caln);
46
+
47
+
48
+
49
+ if(caln > 4) {return 1;}
50
+
51
+
52
+
53
+ //if(caln == 1){
54
+
55
+ //sum = a+b;
56
+
57
+
58
+
59
+ printf("The answer is %d\n", (*func[caln-1])(a, b));
60
+
61
+ // 演算結果の表示
62
+
63
+ //}
64
+
65
+ return 0;
66
+
67
+ }
68
+
69
+
70
+
71
+
72
+
73
+ ```