c语言 两个字符串比较并输出第一个不相等的字符ascii码之差
时间: 2024-11-20 13:42:16 浏览: 60
在C语言中,你可以通过循环遍历两个字符串,并逐个比较它们的字符ASCII值来找出第一个不相等的字符。如果找到不相等的字符,就计算其ASCII码之差。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[50], str2[50];
// 输入两个字符串
printf("请输入第一个字符串: ");
fgets(str1, sizeof(str1), stdin); // 注意去除换行符
str1[strcspn(str1, "\n")] = '\0'; // 替换换行符
printf("请输入第二个字符串: ");
fgets(str2, sizeof(str2), stdin);
str2[strcspn(str2, "\n")] = '\0'; // 替换换行符
// 比较字符串,找到第一个不相等的字符
int i;
for (i = 0; str1[i] == str2[i]; i++) {
if (str1[i] == '\0' || str2[i] == '\0') { // 如果到达字符串结束
break;
}
}
if (i == strlen(str1) && i == strlen(str2)) { // 全部字符都相等
printf("两个字符串完全相同\n");
} else {
int diff = (int)str1[i] - (int)str2[i]; // 计算ASCII码之差
printf("第一个不相等字符是 '%c', ASCII码之差为 %d\n", str1[i], diff);
}
return 0;
}
```
在这个程序中,我们首先输入两个字符串,然后用for循环对比每个字符,直到找到第一个不相等的字符。如果最后所有字符都相等,说明字符串完全一样;否则,我们会输出那个不相等字符及其ASCII码之差。
阅读全文