2025-03-02 00:19:43
C语言中strcmp可以比较
不行,strcmp只能比较2个
#include<stdio.h>
#include<string.h>
#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<N; 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<stdio.h>
#include<string.h>
#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<N; i++)
if(!strcmp(a[i],b[i])) {
mark=false;
break;
}
if(mark)
printf("两个一样\n");
else
printf("不一样\n");
}
2025-03-02 03:57:46
2025-03-02 07:30:47