該代碼的目標是,如果用戶插入大於X個字符的名稱,我會請求一個新名稱,直到插入帶有或少於X個字符的名稱。我有休耕代碼:只有使用插入的值(如果它的大小合適)
char * getName(){
int size = 4;
int i;
char inserted[10];
char name[4];
while (size > 3){
printf("Insert name, maximum 3 characters: ");
fgets(inserted, 10, stdin);
for (i=0; i<4; i++){
if (inserted[i] == '\n'){
size = 3;
}
}
}
sscanf(inserted,"%s", name);
return name;
}
但似乎它不工作.....我試圖調試,但無法找到錯誤。如果你能夠伸出援助之手,那就太好了。
編輯:我編輯的代碼,這是錯的
編輯:問題不在於如果返回與否的價值,但是是功能停留在一個無限循環 - 沒有按「T似乎找到如果單詞有正確的長度
將'/ n''改爲''\ n''。 '/'不是轉義字符。還要注意:退出該函數後,局部變量的地址無效。 – BLUEPIXY 2015-04-02 15:46:55
當它是當前代碼中的正確類型時,它似乎會逃脫循環。 – BLUEPIXY 2015-04-02 16:03:56
是的,已經在工作了,謝謝 – 2015-04-02 16:11:35