第一个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中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
参考资料来源:百度百科-字符串
不一样。前面一个是字符串定义,字符串都有结束符‘\0’。所以比后面长1个字节。
#include
#include
#include
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
事实胜于雄辩 可以看出不是一样长的
不相同,x数组比y数组多一个尾零:‘\0’
可以用sizeof来查看数组大小.
xlen=sizeof(x);
ylen=sizeof(y);