char x[ ]=“abcdefg”; char y[ ]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’};

我请问一下,char x[ ]=“abcdefg”; char y[ ]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’};
最新回答
一枕庭前雪

2024-05-09 00:28:52

第一个8,第二7,因为第一个要加上'\0'。

main()

{char x[]="abcdefg";

char y[]={'a','b','c','d','e','f','g'};

printf("%d",strcmp(x,y));

getch();

}

a数组的长度是6,b数组的长度是7。在C语言中没有专门的

字符串
变量,通常用一个字符数组来存放一个字符串。字符串总是以'\0'作为串的结束符。

扩展资料:

字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的

充要条件
是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

参考资料来源:

百度百科-字符串

视而不见

2024-05-09 06:22:19

不一样。前面一个是字符串定义,字符串都有结束符‘\0’。所以比后面长1个字节。
静听忧伤

2024-05-09 10:15:56

#include <stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
char x[]="abcdefg";
char y[]={'a','b','c','d','e','f','g'};
int xlen;
int ylen;
xlen=sizeof(x);
ylen=sizeof(y);
printf("xlen=%d ylen =%d\n",xlen,ylen);
return 0;
}

xlen=8 ylen =7

事实胜于雄辩 可以看出不是一样长的
共起轻饮

2024-05-09 08:38:10

不相同,x数组比y数组多一个尾零:‘\0’
凭栏听雨

2024-05-09 10:41:18

可以用sizeof来查看数组大小.
xlen=sizeof(x);
ylen=sizeof(y);