strcmp函数是用来比较两个字符串的,按理来说,比较结果只有两种:相同或不同。但是,事实上,strcmp函数在设计时会有三种情况,下面详细介绍:
这个函数的输入为两个字符串的首元素地址(即字符数组的数组名),输出为int整形。
这个函数开始比较这两个输入字符的的第一个字符,如果相等,则继续比较这两个字符串的下一个字符,直到字符不同或达到\0为止。
返回值
<0 | 第一个不相等的字符ptr1<ptr2 (ASCII码) |
=0 | 两个字符串完全相等 |
>0 | 第一个不相等的字符ptr1>ptr2 (ASCII码) |
例子
BC89 密码验证
描述
用户登录网站,通常需要注册,一般需要输入两遍密码。请编程判断输入的两次密码是否一致,一致输出“same”,不一致输出“different”
输入描述
每行有两个用空格分开的字符串,第一个为密码,第二个为重复密码。
输出描述
每组输出一个字符串(“same”或“different”)。
#include <stdio.h>
#include <string.h>
int main()
{
char str1[100]={0};
char str2[100]={0};
scanf("%s %s",str1,str2);
if(strcmp(str1,str2) == 0)
{
printf("same\n");
}
else {
printf("different\n");
}
return 0;
}