我很難將字符數組傳遞給函數並將字符串掃描到函數中。這裏是我的刪節代碼:將數組傳遞給函數並掃描字符串
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define SIZE 20
void GetWord(char word[]);
main(void){
char word[SIZE]=" ";
GetWord(word);
}
void GetWord(char word[]){
printf("Please enter a word: ");
scanf("%s", word);
}
該功能只是在任何大小的條目進行後掛起。
我知道scanf有更好的選擇,但需要使用它。謝謝!
你是指'GetWord(char * word)'? – bansi
@Henry我沒有看到你的代碼有任何問題。 –
你應該定義'main()'的返回類型 - 只有真正古老或者草率的編譯器才允許(C99需要顯式返回類型)。你可能應該打印讀取的單詞。您應該可以將讀取的單詞的大小限制爲19個字節,並用'scanf(「%19s」,word)'加上null。你應該檢查'scanf()'的返回值。當你說'任何尺寸'時,你的意思是'在1或2或3或......字符之後',還是'當尺寸足夠大時 - 可能是30或40或60個字符'?通俗的英語可以允許,儘管第一個是正常的,特別是在計算機上。 –