#include <stdio.h>
#include <string.h>
int main(){
char str1[] = "http://c.biancheng.net";
char str2[] = "http://www.baidu.com";
//比较两个字符串大小
int result = strcmp(str1, str2);
printf("str1 - str2 = %d\n", result);
return 0;
}
str1 和 str2 是传递给 strcmp() 的参数,strcmp() 的处理结果赋值给了变量 result。
#include <stdio.h>
#include <string.h>
int main(){
char str1[] = "http://c.biancheng.net";
char str2[] = "http://www.baidu.com";
int result, i;
//比较两个字符串大小
for(i=0; (result = str1[i] - str2[i]) == 0; i++){
if(str1[i] == '\0' || str2[i] == '\0'){
break;
}
}
printf("str1 - str2 = %d\n", result);
return 0;
}
比较字符串大小是常用的功能,一个程序可能会用到很多次,如果每次都写这样一段重复的代码,不但费时费力、容易出错,而且交给别人时也很麻烦,所以C语言提供了一个功能,允许我们将常用的代码以固定的格式封装(包装)成一个独立的模块,只要知道这个模块的名字就可以重复使用它,这个模块就叫做函数(Function)。
#include <stdio.h>
//将比较字符串大小的代码封装成函数,并命名为strcmp_alias
int strcmp_alias(char *s1, char *s2){
int i, result;
for(i=0; (result = s1[i] - s2[i]) == 0; i++){
if(s1[i] == '\0' || s2[i] == '\0'){
break;
}
}
return result;
}
int main(){
char str1[] = "http://c.biancheng.net";
char str2[] = "http://www.baidu.com";
char str3[] = "http://data.biancheng.net";
//重复使用strcmp_alias()函数
int result_1_2 = strcmp_alias(str1, str2);
int result_1_3 = strcmp_alias(str1, str3);
printf("str1 - str2 = %d\n", result_1_2);
printf("str1 - str3 = %d\n", result_1_3);
return 0;
}
为了避免与原有的 strcmp 产生命名冲突,我将新函数命名为 strcmp_alias。关于库的概念,我们已在《不要这样学习C语言,这是一个坑!》中进行了详细介绍。除了库函数,我们还可以编写自己的函数,拓展程序的功能。自己编写的函数称为自定义函数。自定义函数和库函数在编写和使用方式上完全相同,只是由不同的机构来编写。
( ),有必要的话,括号中还要包含数据或变量,称为参数(Parameter)。参数是函数需要处理的数据,例如:
strlen(str1)用来计算字符串的长度,str1就是参数。puts("C语言中文网")用来输出字符串,"C语言中文网"就是参数。char str1[] = "C Language"; int len = strlen(str1);strlen() 的处理结果是字符串 str1 的长度,是一个整数,我们通过 len 变量来接收。
版权说明:Copyright © 广州松河信息科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州松河信息科技有限公司 版权所有