質問するログイン新規登録

回答編集履歴

1

手を入れてみました

2021/06/11 11:56

投稿

pepperleaf
pepperleaf

スコア6385

answer CHANGED
@@ -4,4 +4,34 @@
4
4
  まず、"ボールドテキスト"の文字はゴミ?
5
5
 
6
6
  そして、`(caln = 1)` これ、比較で無く、代入になってますが、正しいですか?
7
-   (`caln` に 1 を代入)
7
+   (`caln` に 1 を代入)
8
+
9
+ -------------
10
+ ざっと直してみると、、こんな感じ?
11
+ ```C
12
+ int main(void)
13
+ {
14
+ int a, b; // 演算する2値
15
+ int caln; // 演算の種類
16
+ int (* func[4])(int, int) = {sum, diff, prod, quot}; // 関数へのポインタの配列
17
+
18
+ printf("整数を入力してください -> ");
19
+ scanf("%d", &a);
20
+ printf("もうひとつ整数を入力してください -> ");
21
+ scanf("%d", &b);
22
+ printf("計算を選んでください(1)足し算 (2)引き算 (3)掛け算 (4)割り算 -> ");
23
+ scanf("%d", &caln);
24
+
25
+ if(caln > 4) {return 1;}
26
+
27
+ //if(caln == 1){
28
+ //sum = a+b;
29
+
30
+ printf("The answer is %d\n", (*func[caln-1])(a, b));
31
+ // 演算結果の表示
32
+ //}
33
+ return 0;
34
+ }
35
+
36
+
37
+ ```