c语言如何输入若干个字符串并求出每个字符串的长度并打印最长一个的字符串内容
可以使用循环和字符串函数来实现输入并求出每个字符串的长度,然后比较长度得到最长字符串的内容。
代码示例:
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char str[MAX_LENGTH];
int len, max_len = 0;
char max_str[MAX_LENGTH];
printf("请输入字符串(输入空行结束):\n");
while (fgets(str, MAX_LENGTH, stdin) != NULL) {
// 去掉换行符
len = strlen(str);
if (len > 0 && str[len-1] == '\n') {
str[len-1] = '\0';
len--;
}
// 计算字符串长度
printf("%s 的长度是 %d\n", str, len);
// 比较长度并记录最长字符串
if (len > max_len) {
max_len = len;
strcpy(max_str, str);
}
}
printf("最长的字符串是 %s,长度为 %d\n", max_str, max_len);
return 0;
}
注意事项:
- 使用 fgets 函数可以输入包含空格的字符串。
- 在比较字符串长度时,要使用 strlen 函数计算长度,而不是 sizeof 函数,因为 sizeof 会包含字符串末尾的空字符 '\0'。
原文地址: https://www.cveoy.top/t/topic/bkoz 著作权归作者所有。请勿转载和采集!