📅  最后修改于: 2023-12-03 15:14:24.812000             🧑  作者: Mango
在C语言中,字符串是由一系列的字符构成的。寻找字符串中最长的单词是C语言中一个常见的问题。
通过遍历整个字符串,逐个字符进行判断,如果当前字符是字母,则将其加入当前单词中。当遇到非字母字符时,判断当前单词的长度是否大于之前记录的最长单词长度,如果是,则将当前单词更新为最长单词。
#include <stdio.h>
#include <string.h>
int main() {
char str[1000] = "This is a demo string for testing.";
char longest_word[100];
int i, j, current_word_length, longest_word_length;
current_word_length = longest_word_length = 0;
for (i = 0; i < strlen(str); i++) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
current_word_length++;
} else {
if (current_word_length > longest_word_length) {
longest_word_length = current_word_length;
for (j = 0; j < current_word_length; j++) {
longest_word[j] = str[i - current_word_length + j];
}
longest_word[j] = '\0';
}
current_word_length = 0;
}
}
printf("Longest word: %s\n", longest_word);
return 0;
}
以上就是在C语言中寻找字符串中最长的单词的实现代码和思路。这种方法只是一个简单的实现方式,还有很多其它的方法可以达到相同的结果,例如使用正则表达式等。