如果不用strcmp函数,能不能直接用s1==s2比较数组?
答案:2 悬赏:10 手机版
解决时间 2021-02-11 02:56
- 提问者网友:無理詩人
- 2021-02-10 18:30
s1[]和s2[]是两个数组
最佳答案
- 五星知识达人网友:舊物识亽
- 2021-02-10 19:44
//实践证明是不行的,字母代表的是数组的地址
//如果你知道C++的重载,可以写个重载函数实现这个功能,希望对您有用
#include
using namespace std;
int main()
{
int a[ 2 ], b[ 2 ];
for( int i = 0; i < 2; i++ )
{
cin >> a[ i ] >> b[ i ];
}
cout << a << b << endl;//输出的是a和b的地址
if( a == b )
{
cout << "Yes" << endl;
}
system( "pause" );
return 0;
}
//如果你知道C++的重载,可以写个重载函数实现这个功能,希望对您有用
#include
using namespace std;
int main()
{
int a[ 2 ], b[ 2 ];
for( int i = 0; i < 2; i++ )
{
cin >> a[ i ] >> b[ i ];
}
cout << a << b << endl;//输出的是a和b的地址
if( a == b )
{
cout << "Yes" << endl;
}
system( "pause" );
return 0;
}
全部回答
- 1楼网友:不甚了了
- 2021-02-10 20:28
#include<iostream.h>
#include<string.h>
int min(int a,int b)
{
return ((a<b)?a:b);
}
void main()
{
char a[1000],b[1000];
int lena,lenb,i,t,res,flag=0;
cin>>a>>b;
lena=strlen(a);
lenb=strlen(b);
t=min(lena,lenb);
for(i=0;i<t;i++)
if (a[i]>b[i])
{
res=1;
flag=1;
break;
}
else if (a[i]<b[i])
{
res=-1;
flag=1;
break;
}
if (!flag)
if (lena>lenb)
res=1;
else if (lena<lenb)
res=-1;
else
res=0;
cout<<res<<endl;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯