用c语言编写一个函数实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数。
时间: 2023-06-24 10:06:10 浏览: 135
以下是一个实现最长单词输出的C语言函数:
```c
void printLongestWord(char *str) {
int len = strlen(str);
int maxLen = 0, start = 0, end = 0;
int i = 0, curLen = 0, curStart = 0;
// 遍历字符串
while (i <= len) {
if (str[i] == ' ' || str[i] == '\0') {
// 当前单词长度
curLen = i - curStart;
// 如果当前单词比之前的最长单词更长,则更新最长单词的起始和结束位置
if (curLen > maxLen) {
maxLen = curLen;
start = curStart;
end = i;
}
curStart = i + 1; // 当前单词的起始位置
}
i++;
}
// 输出最长单词
printf("Longest word: ");
for (i = start; i < end; i++) {
printf("%c", str[i]);
}
printf("\n");
}
```
该函数的思路是遍历字符串,以空格或字符串的结尾作为单词的分隔符,计算每个单词的长度,并与之前的最长单词比较。最终输出最长单词。
阅读全文