回覆列表
-
1 # 湯圓電影Vlog
-
2 # dadazhu1
int main()
{
int ch;
printf("please input a digital(between 0 and 9):\n");
scanf("%d", &ch);
if(ch >= 0 && ch
{
printf("%c", "0"+ch);
}else{
printf("input error!\n");
}
}
關鍵的地方是:字元0(也即"0")加上一個整數(不要太大了,即不要超過ASCII的127),得到的值還是一個字元;如果是兩個字元相減,則得到一個整數,該整數是兩個字元之差(比如 "c" - "a",得到int型的2)
#include <stdio.h>int main(){ char str[100];//一般輸入的數字位數不會超過100,此處不可以用指標代替 char *p;//字元類指標 scanf("%s",str);//輸入的字串存入str陣列 for(p=str;*p!="\0";p++)//從第一個字元開始轉換,一直輸出到字串末尾 { printf("%d",*p-"0");//輸出字串代表的數值 } return 0;}/*如果只是完成輸出輸入數值的功能,完全沒有必要轉換為數值在輸出,按照如下程式書寫即可。*/#include <stdio.h>int main(){ char str[100];//由於gets中引數不能為空,此處需要制定輸入的界限 puts(gets(str));}