回覆列表
-
1 # 使用者6857620078892
-
2 # 奉孝歷史
反問你一個問題:如果你輸入的是int型,那麼怎麼會有字元型的出來呢?可以參考一下別人寫的程式碼:
#include<stdio.h>#include<string.h>void main(){ char array[100]; void fun(char*); gets(array); fun(array);}void fun(char array[100]){ int sum=0,i; for(i=0;i<strlen(array);i++) { sum*=16; if("0"<=array[i]&&array[i]<="9") sum+=array[i]-"0"; if("a"<=array[i]&&array[i]<="z") sum+=array[i]-"a"+10; if("A"<=array[i]&&array[i]<="Z") sum+=array[i]-"A"+10; } printf("%d",sum);}
用scanf("%x")輸入一個十六進位制數,在用printf("%d")輸出十進位制肯定不可以。這個之間肯定要一個計算的過程,就像你計算一個十六進位制數為十進位制一樣,首先你肯定想的是把十六進位制數變為二進位制數,然後在轉化為十進位制一樣的道理。計算機也要你定下這個程式的過程,它才能執行下來。像計算機軟體裡的程式都是人編出來的,所以計算機才能執行。