#include int main(){ // 入力された文字列 char str[101]; scanf("%s",str); // 左辺の数字 int num1 = 0; // 右辺の数字 int num2 = 0; // 先頭の左辺を格納 int j = 0; while(str[j] != '*' && str[j] != '+'){ int tmp = (str[j] - '0'); num1 = num1 * 10 + tmp; j++; printf("文字:%d\n",tmp); printf("先頭左辺:%d\n",num1); } // 先頭の記号を格納 char symbol; symbol = str[j]; printf("記号:%d\n",symbol); // 右辺を格納して計算・計算結果は左辺に格納 while(str[j] != '\0'){ if(str[j] == '+' || str[j] == '*'){ if(symbol == '*'){ num1 += num2; }else if(symbol == '+'){ num1 *= num2; } symbol = str[j]; }else{ int tmp = (str[j] - '0'); printf("文字:%d\n",tmp); num2 = num2 * 10 + tmp; printf("右辺:%d\n",num2); } j++; } // 末尾の計算 if(symbol == '*'){ num1 *= num2; }else if(symbol == '+'){ num1 += num2; } printf("%d",num1); }