我正在嘗試使用getinput函數來返回用戶輸入的字符串值。但是我得到了'getinput'的相互矛盾的類型的錯誤2.之前的'getinput'的隱式聲明就在這裏。有人能向我解釋那些錯誤是什麼?c中出現函數錯誤。試圖返回字符串值。
gets函數應該從用戶讀取兩個不同的句子,並將其存儲在變量userinput1和userinput2中。在你的代碼的頂部getinput()
#include <stdio.h>
#include <string.h>
char input1[1000] = {0};
char input2[1000] = {0};
int main(){
getinput();
char input[2000];
sprintf(input, "%s %s", input1, input2);
printf("%s\n", input);
return 0;
}
const char * getinput() {
printf("please enter the something\n");
scanf("%999[^\n]%*c", input1);
printf("please enter the next input\n");
scanf("%999[^\n]%*c", input2);
return input1, input2;
}
絕對不是唯一的問題檢查返回語句 – aaronman
@aaronman,是的,更新了答案,謝謝。 – Rohan
正如Jens的回答所述,值得注意的是'return input1,input2;'實際上是有效的C - 逗號運算符計算每個表達式並返回最後一個操作數的值。它只是a)沒有做OP的期望,b)完全沒有必要,正如指出的那樣。 –