字符串比较就是将一个字符串与另一个字符串从首字母开始,按照 ASCII 值的顺序进行逐个比较,若出现不同的字符,则以第一个不同字符的比较结果作为整个比较的结果。

在 C 语言程序中,不能直接用关系运算符比较两个字符串的大小,比如下面语句是错误的:

if( "字符串1"=="字符串2")...

在 C语言中,可以记住 strcmp() 函数来实现比较字符串的功能。strcmp() 函数语法格式如下:

strcmp(字符数组名1, 字符数组名2)

strcmp() 函数是按照 ASCII 值的顺序比较两个数组中的字符串,并由函数返回值来表示比较结果。返回值说明如下:

字符串1 = 字符串2,返回值为 0;

字符串1 > 字符串2,返回值为正数;

字符串1 < 字符串2,返回值为负数。

【实例】使用 strcmp() 来模拟登录 C语言中文网的账号。具体代码如下:

#include //包含头文件

#include //包含strcmp()函数头文件

int main() //主函数main()

{

char pass[20] = "c.biancheng.net"; //定义字符数组存储账号

char mima[20]; //定义登录时输入的账号

printf("请输入你在C语言中文网的VIP账号:\n"); //提示信息

gets(mima); //登录时输入的账号

printf("你的C语言中文网VIP账号是:\n"); //提示信息

puts(mima); //输出登录时输入的账号

if (strcmp(pass, mima) == 0) //如果登录时输入的账号与注册的账号相同

{

printf("你登录成功了!^_^\n"); //输出登录成功信息

}

else //如果登录时输入的账号与注册的账号不相同

{

printf("你登录失败!!-_-\n"); //输出登录失败信息

}

return 0; //程序结束

}

运行程序,输出结果为:

请输入你在C语言中文网的VIP账号:

c.biancheng.net

你的C语言中文网VIP账号是:

c.biancheng.net

你登录成功了!^_^