1. 程式人生 > >表達式從左向右求值(所有運算符的優先級都一樣,僅包括+ - * /)

表達式從左向右求值(所有運算符的優先級都一樣,僅包括+ - * /)

col void spa enter 所有 char tchar putchar express

#include <stdio.h>

int main(void){
    float a, b;
    char ch;
    
    printf("Enter an expression:");
    scanf("%f", &a);
    printf("%.3f", a);
    ch = getchar();
    putchar(ch);
    while (ch != \n) {
        scanf("%f", &b);
        printf("%.3f", b);
        switch(ch){
            
case +: a += b; break; case -: a -= b; break; case *: a *= b; break; case /: a /= b; break; } ch = getchar(); putchar(ch); } printf(
"%.3f\n", a); return 0; }

例如輸入:1+2.5*3

輸出:10.5

表達式從左向右求值(所有運算符的優先級都一樣,僅包括+ - * /)