利用指针数组输入5个字符串,用函数进行strlen进行字符串大小比较
时间: 2024-09-26 17:12:12 浏览: 35
当你需要通过指针数组存储字符串,并利用`strlen`函数进行长度比较时,可以按照以下步骤操作:
首先,创建一个指针数组,用于存放字符串的首地址。假设我们有一个名为`strings`的指针数组,它有5个元素,可以表示如下:
```c
char* strings[5];
```
然后,分别给这五个字符串分配内存并将其首地址存入数组中,例如:
```c
strings[0] = (char*)malloc(sizeof(char) * strlen("String1"));
strcpy(strings[0], "String1");
strings[1] = (char*)malloc(sizeof(char) * strlen("String2"));
strcpy(strings[1], "String2");
// 类似地为其余三个字符串赋值...
```
接下来,编写一个函数来比较这些字符串的长度。这个函数接受两个指针作为参数,计算它们所指向的字符串长度,然后返回一个整数表示长度的差异。示例函数可能像这样:
```c
int compareStringLengths(const char* str1, const char* str2) {
return strlen(str1) - strlen(str2);
}
```
如果你想要遍历整个数组并比较所有字符串,可以在主程序中这样做:
```c
for (int i = 0; i < 5; i++) {
int comparison = compareStringLengths(strings[i], strings[(i + 1) % 5]); // 比较相邻的字符串,避免数组越界
if (comparison != 0) {
printf("Strings at index %d and %d have different lengths: %d\n", i, (i + 1) % 5, comparison);
}
}
```
阅读全文