C语言中strcmp可以比较二维数组吗

作者&投稿:支狗 (若有异议请与网页底部的电邮联系)
(c语言数组的!)比较两个字符串的大小。(不可以用strcmp做)~

main(){
int i=0,j=0;
char str1[]="china";
char str2[]="word";
char min,max;
while(str1[i]!='\0')i++;
i--;
while(str2[j]!='\0')j++;
j--;
if(i>j) max=str2 min=str1; 这里和下面的if这里都没有{};
所以无论if对或不对 ,对min的负值
始终实行
if(j>i) max=str1 min=str2;
printf("%c %c",min,max);
}首先这个程序并不是求字符串的大小的,而是求哪个字符串的长度长。。

是的
如果要用于二维数组,需要取二维数组中的第一维。

char a[100][100];
gets(a[20]);
这样可以。
gets(a);
理论上也能用,等效于a[0],但一些编译器会报错。 一般不这么写。

C语言中strcmp可以比较二维数组吗?

不行,strcmp只能比较2个字符串,即2个一维的字符数组。如果要比较2个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("不一样");
}


如果满意,欢迎采纳,谢谢

如有疑问,欢迎追问



不能 用双循环更简单
#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};

for(int i=0;i<2;i++)
{
for(int j=0;j<2;j++)
{
if(a[i][j]==b[i][j]);
}
}
printf("两个一样");
}

strcmp只能比较两个字符串,不能比较两个二维数组。


c语言中strcmp函数的cmp是什么单词的缩写
1、cmp 是 compare,比较的缩写。2、strcmp是C语言中头文件<string.h>(字符串函数)中定义的一个用于对两组字符串进行比较的函数,它的返回值是int类型。假设有两组字符串cs和ct,当cs<ct时,函数返回一个负数;当cs==ct时,函数返回0;当cs>ct时,函数返回一个正数。即:两个字符串自左向右...

C语言中strcmp是什么意思?
C\/C++函数,比较两个字符串。设这两个字符串为str1,str2,若str1==str2,则返回零;若str1>str2,则返回正数;若str1<str2,则返回负数。

C语言这段strcmp代码是什么意思
char a[20], b[20];strcmp(a,b)是比较ab两个字符串的大小 如果strcmp(a,b)==0,说明ab字符串相等 如果strcmp(a,b)>0,说明a字符串大于b字符串,也就是a的字母顺序应该在b后面 ---比如"abcd">"aabc", "bcde">"abcd"如果strcmp(a,b)<0,说明a字符串小于b字符串,也就是a的字母顺...

C语言编程strcmp函数的问题
strcmp()函数原型是 int strcmp(const char *s1,const char *s2)如果s1的字符串在机器编码顺序中落后于s2,函数返回值是一个大于0的整数;如果两个字符串相同的话,返回值是0;如果第一个字符串在机器编码顺序中先于第二个字符串,返回值是一个<0的数。看函数的返回值类型是 int,那么你就...

strcpy()函数和strcmp()函数怎么用?
strcpy是复制字符串 strcmp对比字符串 用的时候需要头文件#include<string.h> include<stdio.h> include<stdlib.h> include<string.h> main(){ char a[10]="Hello!";char b[10];strcpy(b,a);\/\/把a copy给b puts(b);\/\/打印出b system("pause");} strcmp(a,b)用来对比字符串长度的,...

C语言里,函数strcmp,strcat,strlen,strlwr和strupr的全称都是什么?_百 ...
string compare ;string cat;cat指嫁接 String length;

c语言为啥打印的字符串一样,strcmp比较起来却不一样?
在 C 语言中,字符串是以 NULL 字符('\\0') 结尾的字符数组。当我们使用 printf 函数打印一个字符串时,它会一直打印到遇到 NULL 字符为止,而在 strcmp 函数比较两个字符串时,它会一直比较到遇到 NULL 字符或两个字符串不相等的字符为止。因此,当两个字符串打印出来看起来一样,但比较结果却不...

C语言中strcmp函数比较字符串大小是在比较字符串的什么?
c语言中的strcmp函数比较字符串A和B,如果A中第一个字符的ASCII大于B中第一个字符串的ASCII,则A整体大于B;若A中第一个字符ASCII等于B中第一个字符,则比较第二个字符的大小,依次类推 对于第二个问题,为什么小写字母的ASCII码比大写字母大,这个就不是程序员能知道的了,这个得问创作这个的人 ...

C语言: strcmp的用法,char a[].char b[]
相等返回0,int a[]="a";int b[] = "b";strcmp(a,b)返回一个小于零的数,int a[]="b";int b[] = "a";strcmp(a,b)返回一个大于零的数,

c语言中 strcmp(char 1,char 2) 是比较俩字符串字符个数多少还是ASCII...
strcmp(str1,str2) 比较str1和str2 如果str1<str2则返回一个负整数,如果str1==str2则返回0,如果str1>str2则返回一个正整数.两个字符串表达式可用撒腿strcmp()函数比较相等性.字符串中的每个字符都使用ACSCII码或Unicode码字符被存储为二进制数字.比较两个字符串时,它们中的每个字符一次一次地被...

海曙区19645514338: C语言中strcmp可以比较二维数组吗 -
宓全山海: C语言中strcmp可以比较二维数组吗? 不行,strcmp只能比较2个字符串,即2个一维的字符数组.如果要比较2个2维的字符串数组,必须逐个字符串元素进行比对. #include<stdio.h> #include<string.h> #define N 2 void main() {// char a[N][2]={1,...

海曙区19645514338: c语言中怎样比较两个二维数组相同 -
宓全山海: #include<string.h>strcmp(char *s1,char *s2) 把你的2个二维数组写进去就可以了; 如果strcmp的返回值等于0说明相等

海曙区19645514338: 用strcmp()函数可以用二维数组中的一行与一个一维数组比较吗? -
宓全山海: char a[2][3] = {"12", "34"}; char b[3] = "34"; printf("%d", strcmp(a[1], b));可以,但是你二维数组的赋值貌似不太对,也有可能你声明的是一个二维指针数组 但无论如何,你只要传递给strcmp两个字符串地址就可以,指针,数组都可以 另外一点,字符串的末尾都带有一个'\0'的结束符,所以对于b[3]来说只能赋给两个字符,如:char b[3] = "ab"; //或者 char b[4] = "abc" ;

海曙区19645514338: C语言中,对二维数组所有元素遍历一次,有几种循环方式?为什么? -
宓全山海: 1,行优先和列优先 有三种循环方式:FOR循环,DO-WHILE循环 、WHILE循环, 字符串之间的比较,它有专门的字符串比较函数:strcmp函数. 2,不能用运算关系符

海曙区19645514338: C语言中 关于二维字符数组和一维字符数组的比较 -
宓全山海: 你的str3赋值也不对,修改为: char *str3 = "ENDOFINPUT";比较的行修改为: if (strcmp(&str1[i][0], str3) == 0)

海曙区19645514338: C语言中,strcmp( )是什么函数? -
宓全山海: 函数名: strcmp 功 能: 串比较 用 法: int strcmp(char *str1, char *str2); 程序例: #include#includeint main(void) { char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc"; int ptr; ptr = strcmp(buf2, buf1); if (ptr > 0) printf("buffer 2 is greater ...

海曙区19645514338: 在C语言中,strcmp()是什么函数? -
宓全山海: 头文件:#include <string.h> strcmp() 用来比较字符串(区分大小写),其原型为:int strcmp(const char *s1, const char *s2); 【参数】s1, s2 为需要比较的两个字符串.字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值...

海曙区19645514338: strcmp 两const数组比较 -
宓全山海: char a[10],b[10]; int c; a[0]='1'; b[0]='1'; 最后这句只是a,b的第一个元素赋初值'1'.字符串的结束是以'\0'来判断的,只给第1个元素赋值,a,b后面的值为随机值,即:a[0]='1',a[1]='?',a[2]='?',...,a[n1-1]='?',a[n1]='\0' b[0]='1',b[1]='?',b[2]='?',...,b[n2-1]='?...

海曙区19645514338: C语言的strcmp是什么意思? -
宓全山海: strcmp(str1,str2)函数就是比较参数中两个字符串str1 和str2的大小(大小写敏感,即"A" != "a"),如果完全相等,返回0,如果str1 < str2(按照字母顺序比较),返回...

海曙区19645514338: C语言中strcmp是什么意思?有什么功能和作用? -
宓全山海: strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值. 比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到不...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网