質問編集履歴
3
名称の訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
###発生している問題・エラーメッセージ
|
10
10
|
|
11
|
-
①
|
11
|
+
①コマンドライン引数で2つの整数の値と演算子を取得する方法が分からない
|
12
12
|
|
13
13
|
```c
|
14
14
|
|
2
発生している問題の追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
16進数または10進数の2つの整数の和を16進数と10進数で求めるコードを書いています。
|
4
4
|
|
5
|
-
2つの整数は共に16進数または10進数とします。16進数は「0x」を頭につけて、「0xabcd」のように入力します。Javaでは以下のように実装することができたのですが、C言語でインライン引数を用いたコードに書き直す際に以下の
|
5
|
+
2つの整数は共に16進数または10進数とします。16進数は「0x」を頭につけて、「0xabcd」のように入力します。Javaでは以下のように実装することができたのですが、C言語でインライン引数を用いたコードに書き直す際に以下の3点で困っています。
|
6
6
|
|
7
7
|
|
8
8
|
|
@@ -48,6 +48,34 @@
|
|
48
48
|
|
49
49
|
|
50
50
|
|
51
|
+
③switch文中の10進数で出た計算結果を16進数に変換する部分を C言語でどのように実装したら良いか分からない。
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
```
|
56
|
+
|
57
|
+
case "+":
|
58
|
+
|
59
|
+
int result_dec = a_dec + b_dec;
|
60
|
+
|
61
|
+
//10進数から16進数に変更
|
62
|
+
|
63
|
+
char result_hex = Integer.toHexString(result_dec);
|
64
|
+
|
65
|
+
printf(" %s¥n", result_hex);
|
66
|
+
|
67
|
+
printf("(" );
|
68
|
+
|
69
|
+
printf(" %d", result_dec);
|
70
|
+
|
71
|
+
printf(")");
|
72
|
+
|
73
|
+
break;
|
74
|
+
|
75
|
+
```
|
76
|
+
|
77
|
+
|
78
|
+
|
51
79
|
|
52
80
|
|
53
81
|
###該当のソースコード
|
@@ -100,15 +128,17 @@
|
|
100
128
|
|
101
129
|
case "+":
|
102
130
|
|
103
|
-
|
131
|
+
int result_dec = a_dec + b_dec;
|
132
|
+
|
133
|
+
//
|
104
134
|
|
105
135
|
char result_hex = Integer.toHexString(result_dec);
|
106
136
|
|
107
|
-
printf(" %
|
137
|
+
printf(" %s¥n", result_hex);
|
108
138
|
|
109
139
|
printf("(" );
|
110
140
|
|
111
|
-
printf(" %
|
141
|
+
printf(" %d", result_dec);
|
112
142
|
|
113
143
|
printf(")");
|
114
144
|
|
@@ -120,13 +150,15 @@
|
|
120
150
|
|
121
151
|
int result_dec = a_dec - b_dec;
|
122
152
|
|
153
|
+
//
|
154
|
+
|
123
155
|
char result_hex = Integer.toHexString(result_dec);
|
124
156
|
|
125
|
-
printf(" %
|
157
|
+
printf(" %s¥n", result_hex);
|
126
158
|
|
127
159
|
printf("(" );
|
128
160
|
|
129
|
-
printf(" %
|
161
|
+
printf(" %d", result_dec);
|
130
162
|
|
131
163
|
printf(")");
|
132
164
|
|
1
Cのコード修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -104,9 +104,13 @@
|
|
104
104
|
|
105
105
|
char result_hex = Integer.toHexString(result_dec);
|
106
106
|
|
107
|
+
printf(" %d¥n", result_hex);
|
108
|
+
|
107
|
-
printf(
|
109
|
+
printf("(" );
|
108
|
-
|
110
|
+
|
109
|
-
printf("
|
111
|
+
printf(" %s", result_dec);
|
112
|
+
|
113
|
+
printf(")");
|
110
114
|
|
111
115
|
break;
|
112
116
|
|
@@ -118,9 +122,13 @@
|
|
118
122
|
|
119
123
|
char result_hex = Integer.toHexString(result_dec);
|
120
124
|
|
125
|
+
printf(" %d¥n", result_hex);
|
126
|
+
|
121
|
-
printf(
|
127
|
+
printf("(" );
|
122
|
-
|
128
|
+
|
123
|
-
printf("
|
129
|
+
printf(" %s", result_dec);
|
130
|
+
|
131
|
+
printf(")");
|
124
132
|
|
125
133
|
break;
|
126
134
|
|
@@ -130,6 +138,8 @@
|
|
130
138
|
|
131
139
|
|
132
140
|
|
141
|
+
|
142
|
+
|
133
143
|
}
|
134
144
|
|
135
145
|
```
|