我想要求用戶輸入一個字符串,所以我會打印字符串的長度。我的代碼構建成功。但是,當我輸入一個單詞並按下「輸入」時,程序繼續運行。我不得不輸入第二個單詞,然後顯示第一個字符串的長度。我對argv [1]感到困惑。有人可以給我一些提示和提示如何解決這個問題嗎?在此先感謝您的時間。我的代碼有什麼問題?什麼是argv [1]?
請注意,我不允許使用任何字符串函數。
int main(int argc, char* argv[]){
char* s=argv[1];
char input[256];
s = input;
printf("Please enter a string: ");
scanf("%s\n", s);
int str_length = 0;
while (s[str_length] != '\0')
{
str_length++;
if (s[str_length] == '\0') break;
}
printf("%d\n", str_length);
return 0;
}
'的argv [1]'是第一個命令行參數,但在這個代碼中根本不使用它; 's'最初被設置爲指向它,但在該值被使用之前,'s'被設置爲指向'input'。 – Arkku
我不太確定我們是否理解你想要你的代碼做什麼。你能給我們一個你期待的輸入和輸出的例子嗎? – Xymostech
您的輸入可以是用空格分隔的多個單詞嗎?或者,你是否將此限制爲只有單個字輸入? –