编写程序,实现对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。
时间: 2025-01-30 15:11:48 浏览: 46
在C语言中,你可以使用`getchar()`函数获取用户的键盘输入,并通过`while`循环逐个比较字符。如果找到第一个不相同的字符,就计算它们的ASCII码并返回差值。以下是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
char str1[100], str2[100];
int i, diff = 0;
// 获取第一个字符串
printf("Enter the first string: ");
for (i = 0; ; i++) {
char c = getchar();
if (c == '\n' || c == EOF) break;
str1[i] = c;
}
str1[i] = '\0'; // 结束字符串
// 获取第二个字符串
printf("\nEnter the second string: ");
for (i = 0; ; i++) {
char c = getchar();
if (c == '\n' || c == EOF) break;
str2[i] = c;
}
str2[i] = '\0'; // 结束字符串
// 比较字符串,找出第一个不相同的字符
for (i = 0; i < strlen(str1); i++) {
if (str1[i] != str2[i]) {
diff = abs((int)str1[i] - (int)str2[i]); // 计算ASCII码差值并取绝对值
break;
}
}
// 输出结果
if (diff) {
printf("The difference in ASCII value of the first different character is %d.\n", diff);
} else {
printf("Both strings are identical.\n");
}
return 0;
}
```
在这个程序中,我们首先定义了两个字符数组`str1`和`str2`用于存储输入的字符串。接着使用`getchar()`读取用户输入,直到遇到换行符或文件结束标志(EOF)。然后遍历这两个字符串,一旦发现不匹配的字符,我们就计算其ASCII码差值并退出循环。
阅读全文