我是新手不好意思,剛剛上路沒多久,一個人胡亂摸索中....有個極簡單問題需要大大敎我。
我用的是Dev C,我在某書籍上看到有一題小題目:
1.請撰寫一程式,由使用者先輸入姓氏,在輸入名字,輸出時則先印出名字,在印出姓氏。
它的類似題:試寫一程式,由鍵盤輸入學生學號(整數型態)及年齡(整數型態),輸入完畢後將剛才所輸入的內容印在螢幕中。
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
這題類似題答案是
#include
#include
int main(void)
{
int id,age;
printf(\"請輸入學號: \");
scanf(\"%d\",&id);
printf(\"請輸入年齡: \");
scanf(\"%d\",&age);
printf(\"學號=%d 年齡=%d\\n\",id,age);
system(\"pause\");
return 0;
}
類似題我懂,但是1.的我就不太懂....我是打
#include
#include
int main(void)
{
int num;
char ch;
printf(\"請輸入姓氏: \");
scanf(\"%d\",&num);
printf(\"請輸入名字: \");
scanf(\"%d\",&ch);
printf(\"名字=%d 姓氏=%d\\n\",ch,num);
system(\"pause\");
return 0;
}
我在想是要宣告什麼變數,還是哪裡的問題,因為我這樣打執行出來怪怪,根本不能打名字姓氏,也許這個很簡單....可是我被它卡住了,這題要怎麼打才能算是答案呢?
2006-07-27 06:38:07 · 1 個解答 · 發問者 Amai 2 in 電腦與網際網路 ➔ 程式設計
因為「姓氏」、「名字」是「字串」,不是整數和字元。
所以必須修改成陣列…
char num[20];
char ch[20];
[20] 是字串長度的大小,由於 C 語言是以記錄字元的方式來儲存字串,所以 num 或是 ch 陣列的最後一個元素 num[19] 、ch[19] 是「結束字元」=>「\ 0」斜線、數字零。
2006-07-27 11:18:36 補充:
當 scanf 函式遇上陣列資料時…scanf("%d",num);scanf("%d",ch);因為 scanf 會把輸入的資料存放到指定的「位址」,所以不需要 & 符號,而陣列也可以當成「指標」來解釋。
2006-07-27 07:11:13 · answer #1 · answered by Big_John-tw 7 · 0⤊ 0⤋