船长这一题的代码是我还没开课是写的,只不过那时没有全部通过。最近我重新看了一下,发现数组没有初始化,导致没有全对;但我又发现了一个现象---把二维数组写成101,没有初始化也全对,但我觉得这个现象不合逻辑,我想不明白。
```
#include
#include
int main() {
int n ;
scanf("%d\n", &n);
char arr[n][101];
//memset(arr, 0, sizeof(arr));
for (int i = 0; i < n; i++) { //读入
for (int j = 0; j < 105; j++) {
scanf("%c", &arr[i][j]) ;
if (arr[i][j] == '\n') {
break;
}
}
}
for (int i = 0; i < 1; i++) { //排序
for ( int j = 0; j < n-1; j++) {
if (strlen(arr[0]) < strlen(arr[j+1])) {
strcpy(arr[0], arr[j+1]);
}
}
}
for (int i = 0; i < strlen(arr[0]); i++) { //输出
if (arr[0][i] == '\n') {
break;
} else {
printf("%c", arr[0][i]);
}
}
return 0;
}
```
这个代码真的在计蒜客里全部通过了