回覆列表
  • 1 # 使用者6338718972581

    這個是很簡單的。你可以將字母a用數字的方式打印出來試試,如printf("%d","a");輸出是97,那麼只要減去96就可以了。順便說一下,首先char其實就是8位的整數變數,但是由於ASCII碼的編碼也是8位,所以常常使用char來表示ASCII字元,因此char也叫字元變數。所以char變數的本質就是數字。不難發現透過查詢ASCII表,a的編碼的十進位制數就是97。當然你也會發現a和A的編碼是不一樣的,如果你的功能是輸入a和A輸出都是1,那麼就要提前判斷一下。

    當然你也可以透過判斷來實現這個功能,如:

    char temp = getchar();

    if(temp == "a")

    ......

    else if(temp == "A")

    ......

    else if(temp == "f")

    ......

    還有,可以透過switch來實現,如:

    char temp = getchar();

    switch(temp)

    {

    case "a":

    ......

    break;

    case "A":

    ......

    break;

    default:break;

    }

    需要宣告一下,由於char本身就是數字,所以是可以使用switch的,但是不要妄圖透過switch來判斷字串變數(char[])這是不可行,雖然你可能在其他的高階語言中看到過這種用法,但是在C中是不能執行的。

  • 中秋節和大豐收的關聯?
  • 廋豬肉煮熟了怎麼做菜好吃?