用一个函数来实现将一行字符串中最长的单词找出。此行字符串从主函数传递给该函数。用C语言写
时间: 2023-06-17 14:01:58 浏览: 123
以下是一个示例代码,函数名为`findLongestWord`:
```c
#include <stdio.h>
#include <string.h>
void findLongestWord(char *str) {
int len = strlen(str);
int start = 0, end = 0, max_start = 0, max_end = 0, max_len = 0;
while (end <= len) {
if (str[end] == ' ' || str[end] == '\0') {
int cur_len = end - start;
if (cur_len > max_len) {
max_len = cur_len;
max_start = start;
max_end = end;
}
start = end + 1;
}
end++;
}
printf("The longest word is: ");
for (int i = max_start; i < max_end; i++) {
printf("%c", str[i]);
}
printf("\n");
}
int main() {
char str[] = "hello world, this is a test";
findLongestWord(str);
return 0;
}
```
该函数的思路是遍历整个字符串,当遇到空格或字符串结尾时,判断当前单词的长度是否大于之前记录的最长单词长度,若是则更新最长单词的起始位置和结束位置。最后输出最长单词即可。
阅读全文