C语言写一个函数将一行字符串中最长的单词输出
时间: 2023-04-03 18:01:46 浏览: 136
可以的,以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void print_longest_word(char *str) {
char *word_start = NULL;
char *longest_word_start = NULL;
int longest_word_len = ;
int word_len = ;
for (int i = ; i <= strlen(str); i++) {
if (str[i] == ' ' || str[i] == '\') {
if (word_start != NULL) {
word_len = i - (int)(word_start - str);
if (word_len > longest_word_len) {
longest_word_len = word_len;
longest_word_start = word_start;
}
word_start = NULL;
}
} else {
if (word_start == NULL) {
word_start = &str[i];
}
}
}
if (longest_word_start != NULL) {
for (int i = ; i < longest_word_len; i++) {
printf("%c", longest_word_start[i]);
}
printf("\n");
}
}
int main() {
char str[] = "This is a test string for the longest word function";
print_longest_word(str);
return ;
}
```
这个函数会输出输入字符串中最长的单词。如果有多个单词长度相同且都是最长的,函数会输出第一个。
阅读全文