C语言中strcmp可以比较二维数组吗
答案:3 悬赏:50 手机版
解决时间 2021-02-05 11:58
- 提问者网友:萌卜娃娃
- 2021-02-04 13:39
C语言中strcmp可以比较二维数组吗
最佳答案
- 五星知识达人网友:山有枢
- 2021-02-04 14:43
C语言中strcmp可以比较二维数组吗?
不行,strcmp只能比较2个字符串,即2个一维的字符数组。如果要比较2个2维的字符串数组,必须逐个字符串元素进行比对。
#include
#include
#define N 2
void main()
{
// char a[N][2]={1,2,3};
// char b[N][2]={1,2,3};
char a[n][2]={"abc", "hello", "world"};
char b[n][2]={"abc", "hello", "world"};
bool mark=true;
for(int i=0; i if(!strcmp(a,b)) {
mark=false;
break;
}
}
if(mark)
printf("两个一样");
else
printf("不一样");
}
如果满意,欢迎采纳,谢谢
如有疑问,欢迎追问
追问请问你的第十二行里那个是什么意思其中的a,b代表的是什么呢追答if(!strcmp(a,b)) {
哦,我的代码写错了,第12行应该改成
if(!strcmp(a[i],b[i])) { if(!strcmp(a[i],b[i]))等效于if(strcmp(a[i],b[i])!=0)
代码还有问题,现已改正:
#include
#include
#define N 2
void main()
{
// char a[N][2]={1,2,3};
// char b[N][2]={1,2,3};
//没注意,这里的字符串数组定义有误,现已改正
char a[N][20]={"abc", "hello", "world"};
char b[N][20]={"abc", "hello", "world"};
bool mark=true;
for(int i=0; i if(!strcmp(a[i],b[i])) {
mark=false;
break;
}
if(mark)
printf("两个一样
");
else
printf("不一样
");
}
不行,strcmp只能比较2个字符串,即2个一维的字符数组。如果要比较2个2维的字符串数组,必须逐个字符串元素进行比对。
#include
#include
#define N 2
void main()
{
// char a[N][2]={1,2,3};
// char b[N][2]={1,2,3};
char a[n][2]={"abc", "hello", "world"};
char b[n][2]={"abc", "hello", "world"};
bool mark=true;
for(int i=0; i
mark=false;
break;
}
}
if(mark)
printf("两个一样");
else
printf("不一样");
}
如果满意,欢迎采纳,谢谢
如有疑问,欢迎追问
追问请问你的第十二行里那个是什么意思其中的a,b代表的是什么呢追答if(!strcmp(a,b)) {
哦,我的代码写错了,第12行应该改成
if(!strcmp(a[i],b[i])) { if(!strcmp(a[i],b[i]))等效于if(strcmp(a[i],b[i])!=0)
代码还有问题,现已改正:
#include
#include
#define N 2
void main()
{
// char a[N][2]={1,2,3};
// char b[N][2]={1,2,3};
//没注意,这里的字符串数组定义有误,现已改正
char a[N][20]={"abc", "hello", "world"};
char b[N][20]={"abc", "hello", "world"};
bool mark=true;
for(int i=0; i
mark=false;
break;
}
if(mark)
printf("两个一样
");
else
printf("不一样
");
}
全部回答
- 1楼网友:上分大魔王
- 2021-02-04 17:24
不能 用双循环更简单
#include
#include
#define N 2
void main()
{
char a[N][2]={1,2,3};
char b[N][2]={1,2,3};
for(int i=0;i<2;i++)
{
for(int j=0;j<2;j++)
{
if(a[i][j]==b[i][j]);
}
}
printf("两个一样");
}
#include
#include
#define N 2
void main()
{
char a[N][2]={1,2,3};
char b[N][2]={1,2,3};
for(int i=0;i<2;i++)
{
for(int j=0;j<2;j++)
{
if(a[i][j]==b[i][j]);
}
}
printf("两个一样");
}
- 2楼网友:長槍戰八方
- 2021-02-04 16:06
strcmp只能比较两个字符串,不能比较两个二维数组。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯