C利用二级指针和指针数组,输入5个字符串,用strlen测量字符串大小,输出最大的
时间: 2024-10-07 07:02:40 浏览: 30
在C语言中,你可以使用二级指针和指针数组来存储字符串,并通过`strlen`函数计算每个字符串的长度。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STRINGS 5
int main() {
char *strArray[MAX_STRINGS]; // 指针数组,用于存放5个字符串
int i;
int maxLen = 0; // 初始化最大长度为0
// 输入5个字符串
for (i = 0; i < MAX_STRINGS; i++) {
printf("请输入第%d个字符串: ", i + 1);
fgets(strArray[i], sizeof(strArray[i]), stdin); // 注意fgets处理换行符
strArray[i][strcspn(strArray[i], "\n")] = '\0'; // 去除fgets留下的换行符
if (strlen(strArray[i]) > maxLen) { // 更新最大长度
maxLen = strlen(strArray[i]);
}
}
// 输出最大长度的字符串
printf("最长的字符串是: %s\n", strArray[findMaxIndex(maxLen)]);
return 0;
}
// 辅助函数,查找字符串长度等于maxLen的第一个元素的索引
int findMaxIndex(int len) {
for (int i = 0; i < MAX_STRINGS; i++) {
if (strlen(strArray[i]) == len) {
return i;
}
}
return -1; // 如果找不到则返回-1
}
```
在这个例子中,用户会输入5个字符串,程序会依次测量每个字符串的长度,然后找出最长的那个。如果有多条字符串长度相等,则仅输出第一个找到的。
阅读全文