使用c语言编写比较字符串,输出它们第一个不同字母的位置,大小写不敏感
时间: 2024-05-02 09:22:24 浏览: 117
你好!感谢你对ChitGPT的使用。
针对你的问题,可以使用以下C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int compareStrings(char *str1, char *str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
int i = 0;
while (i < len1 && i < len2) {
if (tolower(str1[i]) != tolower(str2[i])) {
return i; // 返回第一个不同字母的位置
}
i++;
}
if (len1 != len2) {
return i; // 返回较短字符串的长度
}
return -1; // 两个字符串完全相等
}
int main() {
char str1[] = "Hello";
char str2[] = "hEllo";
int pos = compareStrings(str1, str2);
if (pos == -1) {
printf("两个字符串完全相等!");
} else {
printf("第一个不同字母的位置是:%d", pos + 1);
}
return 0;
}
```
代码中调用了一个自定义函数`compareStrings`,该函数接收两个字符串作为参数,返回第一个不同字母的位置。在函数中使用了`tolower`函数将字母转换为小写字母,以忽略大小写的影响。最后在`main`函数中调用`compareStrings`函数,并根据返回值输出结果。
希望以上代码能够帮助你解决问题。如果还有其他问题,欢迎随时提问。
阅读全文