新手程序員學習C,我試圖用strcmp運行for-loop時遇到了這個'段錯誤(core dumped)'錯誤。我曾在類似的問題上看到過有關strcmp的問題,但他們似乎沒有解決我的問題。這是我寫的程序。strcmp for循環中的C分段錯誤
#include<stdio.h>
#include<string.h>
int main() {
char ftpstring[15];
printf("\nEnter valid ftp command > ");
fgets(ftpstring,15,stdin);
const char* ftp[] = { "ascii", "recv", "send", "rmdir", "mkdir" , "pwd", "ls", "cd", "status", "quit" };
for (int i = 0; i <= 10; i++) {
int comparison;
comparison = strcmp(ftpstring, ftp[i]);
if (comparison == 0) {
printf("%s is a valid ftp command.", ftpstring);
break;
}
if(i == 10) {
printf("%s is NOT a valid ftp command.", ftpstring);
}
}
}
正如你所看到的,這個程序會嘗試讀取用戶輸入,以確定它是否符合預定義的有效的FTP命令之一,然後返回它是否確實。
'的for(int i = 0; I <= 10; i ++在)'應該是'對(int i = 0; i <10; i ++)' –