int cmpstr(const char *str1, const char *str2)
{
int i=0;
for(i=0; str1[i] != '\0' && str2[i] != '\0' ; i++)
{
if(str1[i] > str2[i])
return 1;
else if(str1[i] < str2[i])
return -1;
}
if(str1[i] == '\0' && str2[i] != '\0')
return -1;
else if(str1[i] != '\0' && str2[i] =='\0')
return 1;
else
return 0;
}
//--------------------
- =b
string.h中的strcmp函数已经实现了你要说的功能,不知道你还要写这样的函数干嘛,你又说要用到strcmp、、、用strcmp来写一个函数实现strcmp的功能。。。不知道啥意思、、、而且没分,只能帮到这了,随机生成自己能搞定吧
#include "stdafx.h"
#include
#include
using namespace std;
int cmpstr(const char *str1, const char *str2){
while(*str1 || *str2){
if(*str1>*str2) return 1;
else if(*str1<*str2) return -1;
str1++;
str2++;
}
return 0;
}
void main(void){
char s1[101],s2[101],flag;
cout << "Randomly generated 2 strings...\n";
srand((unsigned)time(NULL));
int n=rand()%100+1;
int m=rand()%100+1;
for(int i=0;i
for(i=0;i
cout << "str1= " << s1 << endl << "str2= " << s2 << endl;
if((flag=cmpstr(s1,s2))==1) flag='>';
else if(flag==-1) flag='<';
else flag='=';
cout << "str1 " << flag << " str2." << endl;
}
再设置一个 char *p1,*p2;将字符串的首地址存入指针中。(注意都不要赋值)应该能行吧!