如何用C语言编写一程序,实现对两个字符串进行比较,然后输出两个字符串中第一个不同字符的ASCII码之差

2024-11-14 13:42:29
推荐回答(3个)
回答(1):

1、首先比较字符串的大小,我们可以直接用比较符号来比较就行了,比如大于符号。

2、运行后,得到结果,因为'abc'这个字符串是小于‘cde’这个字符串的,所以结果显示为false是对的。

3、除了用大于来比较,我们还可以用等号来比较,这也是经常用来比较字符串的符号,比如比较输入密码和数据库的密码是否相等。

4、运行结果是false,很显示,我们比较的二个字符串是不相等的。

5、函数是按字节来比较的,是比较安全的比较函数,其接受二个参数,当参数1比参数2小时,返回的结果小于0,当参数1比较参数2大时,返回大于0的结果,当二者相等,则返回0。

6、运行结果,二个比较都返回小于0的数字。

回答(2):

声明两个char型数组,输入两个字符串存入a和b。用一个for循环依次比较a和b对应的字符,不同时结束比较,然后计算这两个不同字符的差值输出。代码如下:

#include "stdio.h"
int main(int argc,char *argv[]){
char a[101],b[101],i;
printf("Input 2 strings...\n");
scanf("%100s%100s",a,b);//输入字符串并限制长度
for(i=0;a[i]==b[i] && (b[i] || a[i]);i++);//比较到不同字符或结束符
a[i] ? printf("\n'%c'",a[i]) : printf("\n'\\0'");//输出a串与b串不同的字符
b[i] ? printf("-'%c'",b[i]) : printf("-'\\0'");//输出-b串与a串不同的字符
printf(" = %d\n",a[i]-b[i]);//输出a串与b串第一个不同字符的差值
return 0;
}

运行样例如下:

回答(3):

#include
#include
int change(char *str,char *str1){
return strcmp(str,str1);
}int main()
{
char str[10],str1[10];
int flag;
gets(str);
gets(str1);
flag=change(str,str1);
printf("%d\n",flag);
return 0;
}