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

質問編集履歴

2

誤字

2020/05/07 11:55

投稿

German_p0tat0
German_p0tat0

スコア26

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,4 @@
1
- **青字の所をうめて演算子の優先度を表示するプログラムの問題をやっているのですが、関数priorityをどうすればいいかわかりません。~~strcmp関数でそれぞれを比較しても0、1、-1が分かるだけで、12,11,10などをどう戻り値にするかわからないです。~~
1
+ **青字の所をうめて演算子の優先度を表示するプログラムの問題をやっているのですが、関数priorityをどうすればいいかわかりません。~~strcmp関数でそれぞれを比較しても0、1、-1が分かるだけで、12,11,10などをどう戻り値にするかわからないです。~~**
2
- 戻り値をどうす**
3
2
  ```C
4
3
  int priority(char oplist[]){
5
4
  int i;

1

丸投げ訂正&現状

2020/05/07 11:55

投稿

German_p0tat0
German_p0tat0

スコア26

title CHANGED
File without changes
body CHANGED
@@ -1,29 +1,23 @@
1
- **青字の所をうめて演算子の優先度を表示するプログラムの問題をやっているのですが、関数priorityをどうすればいいかわかりません。strcmp関数でそれぞれを比較しても0、1、-1が分かるだけで、12,11,10などをどう戻り値にするかわからないです。**
1
+ **青字の所をうめて演算子の優先度を表示するプログラムの問題をやっているのですが、関数priorityをどうすればいいかわかりません。~~strcmp関数でそれぞれを比較しても0、1、-1が分かるだけで、12,11,10などをどう戻り値にするかわからないです。~~
2
+ 戻り値をどうす**
2
3
  ```C
3
- #include <stdio.h>
4
- #include <string.h>
5
- #define OPNUM 9
6
-
7
-
8
-
9
-
10
4
  int priority(char oplist[]){
11
- int i;
12
- for()
13
- return ;
14
- }
15
-
16
-
17
-
18
-
19
- int main(void){
20
- char *oplist[OPNUM] ={"+", "*", "-", "/", "&", "^", "%", "==", "!="};
21
5
  int i;
22
6
 
23
7
  for(i = 0; i < OPNUM; i++){
24
- printf("%s -> %d\n", oplist[i], priority(oplist[i]));
8
+ if(oplist[i] == "+" || oplist[i] == "-"){
9
+ oplist[i] = 10;
10
+ }else if(oplist[i] == "*" || oplist[i] == "/" || oplist[i] == "%"){
11
+ oplist[i] = 11;
12
+ }else if(oplist[i] == "^"){
13
+ oplist[i] = 12;
14
+ }else if(oplist[i] == "==" || oplist[i] == "!="){
15
+ oplist[i] = 9;
16
+ }else{
17
+ oplist[i] = -1;
18
+ }
25
19
  }
26
- return 0;
20
+ return oplist[i];
27
21
  }
28
22
  ```
29
23
  ![イメージ説明](043a67726c0f0727347c49f690d465a4.png)