我在char
陣列中讀取scanf
並且想要檢查長度是否大於15. 它僅在有時才起作用。 (如果我沒有得到一個錯誤 - >核心轉儲。)C Char陣列Userinput檢查長度
我的代碼:
#include <stdio.h>
int checkArray(char string[], int length) {
int i;
for(i=0; string[i] != '\0'; i++);
if(i > length) {
return -1;
}
return 0;
}
int main()
{
const int length = 15;
char x[15];
scanf("%s", x);
if(checkArray(x, length) == -1) {
printf("max. 15 chars!");
return 1;
}
return 0;
}
你可能爲字符串做'x'17:15,一個用於溢出,另一個用於'\ 0 '。 – Kevin