void print(char*arr) {
assert(arr);
int len = (int)strlen(arr);
int num = 0;
int max = 0;
int i = 0;
int index = 0;
while (arr[i]!='\0') {
if (arr[i]== ' ') {
if (num>max) {
max = num;
index = i-max;
}
num = 0;
}
else num++;
i++;
}
if (num>max) {//处理最后一个单词,此时后面没有空格,无法将进入if语句
max = num;
index = i - num;
}
/*if (max == 0) {
printf("No words found.\n");
}
else {
printf("Longest word: %.*s\n", max, arr + index);
}*/
if (max > 0) {
printf("Longest word: ");
for (int m = 0; m < max; m++) {
putchar(arr[index + m]);
}
printf("\n");
}
登录后提交答案