一个数组的元素为字符串,如何比较该数组前后元素相同。用C语言实现,且每行代码都添加注释
时间: 2024-10-06 12:01:52 浏览: 44
在C语言中,如果你想比较一个字符串数组中的前后元素是否相同,你可以遍历数组并逐个检查相邻的元素。这里是一个简单的示例,包括了注释说明:
```c
#include <stdio.h>
#include <string.h> // 引入string.h库,用于处理字符串
#define ARRAY_SIZE 5 // 定义数组大小
char string_array[ARRAY_SIZE][50]; // 字符串数组,每个元素最多容纳50个字符
// 比较字符串函数,如果前后元素相同返回1,不同返回0
int compare_strings(int index) {
if (index == 0) { // 首个元素无需比较
return 1;
}
// 使用strcmp()函数比较当前元素和前一个元素
// 如果相等则返回非零值表示相同,不等则返回0
return strcmp(string_array[index], string_array[index - 1]) == 0 ? 1 : 0;
}
int main() {
// 初始化字符串数组
for (int i = 0; i < ARRAY_SIZE; i++) {
printf("Enter element %d: ", i);
fgets(string_array[i], sizeof(string_array[i]), stdin); // 从用户输入获取字符串,注意去掉换行符
string_array[i][strcspn(string_array[i], "\n")] = '\0'; // 去除fgets带来的换行符
}
// 遍历数组并打印结果
for (int i = 1; i < ARRAY_SIZE; i++) {
int result = compare_strings(i);
if (result) {
printf("Element at position %d is the same as previous one.\n", i);
} else {
printf("Element at position %d is different from previous one.\n", i);
}
}
return 0;
}
```
在这个程序中,`compare_strings()`函数会检查给定索引处的字符串是否与其前一个相同。主函数部分先初始化数组,然后通过`compare_strings()`判断每个元素与前一个是否相同,并打印相应的信息。
阅读全文