C program

2007-10-21 8:33 pm
我write咗個好simple嘅c program,但係唔知佢點解錯,我明明打我個分系「12」,但係佢又出咗「49」...請各位幫幫忙.

#include 箭咀stdio.h箭咀

main()
{
char a;
printf("請輸入您的分數: \\n");
(a = getchar());
printf("您的分數是%d \\n", a);

system("pause");
return 0;
}

回答 (1)

2007-10-22 3:37 am
✔ 最佳答案
當你打1字的時候, 下一行printf 的內容會傳送到output stream, 直到按enter 時, output stream 才被印出來. 由於a 是char type, 轉做decimal時, char 會變成相對的ascii code, '1' 的ascii code 是49, 所以會出到 "您的分數是49". 以下是其中一個解決辦法:

int a;
printf("請輸入您的分數: \n");
scanf("%d", &a);
printf("您的分數是%d\n", a);

希望幫到你


收錄日期: 2021-04-13 14:04:20
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20071021000051KK01603

檢視 Wayback Machine 備份