重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个函数是用于比较字符串中字符值的大小的、从第一个字符开始比较,对相比较的两个字符串的第一个字符s1、s2;
站在用户的角度思考问题,与客户深入沟通,找到延川网站设计与延川网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网络空间、企业邮箱。业务覆盖延川地区。
当s1s2时,返回值0
当s1s2时,返回值0
,若相等,则继续比较。如果两个字符串相等,则返回值为0
#includestdio.h
#define
N
100
int
input(char*a,char*b)//输入两个字符串
{
printf("Input
the
first
information:\n");
fgets(a,N,stdin);
printf("Input
the
secend
information:\n");
fgets(b,N,stdin);
}
int
my_strcmp(char*a,char*b)//比较字符串每个字符的大小
{
while((*a!='\0')(*b!='\0'))
{
if(*a*b)
{
return
0;
}
else
if(*a*b)
{
return
1;
}
else
{
a++;
b++;
}
}
if((*a=='\0')(*b!='\0'))//字符串b比字符串a长
{
return
1;
}
else
if((*a!='\0')(*b=='\0'))//字符串a比字符串b长
{
return
0;
}
else
{
return
2;
}
}
int
main()
{
char
a[N]={0};
char
b[N]={0};
int
net2=0;
input(a,b);//调用输入函数
net2=my_strcmp(a,b);//调用比较大小函数
if(0==net2)//输出大小
{
printf("ab\n");
}
else
if(1==net2)
{
printf("ab\n");
}
else
{
printf("a=b\n");
}
return
0;
}
扩展资料:
一、return在函数中的作用
我们如果将函数看做一个加工厂,参数就是我们向加工厂投入的原料,具体的函数功能实际上就是加工的过程,而return语句代表返回值,就是加工厂在实现加工之后给“投资人”的成品。
二、return语句的特点
1、在函数当中,遇到return语句之后就意味着函数运行的结束,在此之后的代码是不运行的。
2、它不支持任何运算也没有任何内建方法,和任何其他的数据类型比较是否相等时永远返回false,也可以将None赋值给任何变量。
3、执行到return语句时,会退出函数,return之后的语句不再执行。但将return语句放在try语句块中,是个例外。
三、return的默认值:return函数默认的返回值为undefined。
代码如下:
#include stdio.h
#include stdlib.h
int max(int a, int b)
{
return a b ? a : b;
}
int main()
{
int i, m, n;
scanf("%d", m);
for (i = 1; i 8; i++) {
scanf("%d", n);
m = max(m, n);
}
printf("最大数:%d\n", m);
system("pause");
return 0;
}
运行结果:
你的程序和例题的程序思想上实际上是一模一样的,只是你的程序中两个函数接口名换了而已;
你要知道,被调用函数中函数头中的变量名与调用函数参数是无关的,也就是说你没必要写成void inverse( int a[],int n),你写成void inverse( int b[],int n)也是可以的,只要本函数内保持一致就没有问题;
再就是,你用数组名作参数,也就是你的void inverse( int a[],int n),实际上程序运行时还是用的数组的地址,与void inverse( int *a,int n)是完全一样的,等价的,所以跟void inverse( int *p,int n)也是完全等价的!
总之,你的程序与例题程序基本上的等价的,只是你的程序还多了个变量*p(被调用函数inverse中只需要两个指针型变量)!!!
主函数我觉得你的输出比例题的简单,也少个指针变量,这是不错的,简单就是最好的!也许例题是想告诉你怎么使用指针移动实现数组输出吧,呵呵!!!
strcmp是字符串比较函数,调用形式为strcmp(字符串1,字符串2);
功能:字符串1与字符串2比较,如果字符串1==字符串2,则函数值为0,1大于2,则为正整数,1小于2,则为负整数;
从两个字符串的第一个字符开始逐个进行比较(按照ascii码
的大小进行比较),之道出现不同的字符或遇到“\0”为止。例如:char*str1=hello,*str2=void;则strcmp(str1,str2)0;因为‘h’'v';
(1)strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值.
(2)比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到不同字符,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系,如果未遇到不同字符而某个字符串首先结束,那么这个字符串是较小的,否则两个字符串相等。
扩展资料:
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。
两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。
在某些语言中它们可作为基本类型获得,在另一些语言中做为复合类型获得。多数高级语言的语法允许通常用某种方式引用起来的字符串来表示字符串数据类型的实例;这种元字符串叫做“文本”或“字符串文本”。
尽管形式字符串可以有任意(但有限)的长度,实际语言的字符串的长度经常被限制到一个人工极大值。一般的说,有两种类型的字符串数据类型: “定长字符串”,它有固定的极大长度并且不管是否达到了这个极大值都使用同样数量的内存,和“变长字符串”,它的长度不是专断固定的并且依赖于实际的大小使用可变数量的内存。
参考资料:百度百科——字符串