c++应用指针完成两个字符串大小的比较

来源:百度知道 编辑:UC知道 时间:2024/06/09 16:25:27
最近需要这个程序(一定是要c++ 编的代码哦) 希望会的一定不要有所保留啊 50分不低了吧 最好带上输出结果哦
snowinner这位朋友 你的代码有输出结果吗 给我一个好吗?

#include <iostream.h>

int cmp(char *a,char *b)
{
while(*a&&*b&&*a==*b)//对a和b的每一位进行比较
a++,b++;
int s=*a-*b; //比较下一位的ASCII码值,a大返回1,b大返回-1,否则返回0
if(s>0)
return 1;
else if(s<0)
return -1;
else return 0;
}

void main()
{
char a[]="abcdefg";
char b[]="abcdef";
int t=cmp(a,b);
if(t==0)
cout<<"a和b相等";
else if(t==1)
cout<<"a比b大";
else cout<<"a比b小";
cout<<endl;
}
或者:
#include <iostream.h>

int cmp(char *a,char *b)
{
while(*a&&*b&&*a==*b)//对a和b的每一位进行比较
a++,b++;
if(!*a)//a字符串结束
{
if(!*b)//如果b也结束,则说明a和b相等,返回0
return 0;
else //如果b没有结束,说明b比a大,返回-1
return -1;
}
else if(!*b)//如果a没有结束,b结束,则a大,返回1
return 1;
else if(int (*a)>int (*b))//a和b都没有结束,比较下一个字符(通过转化成ASCII码