1·char a[ ]="xyz",b={'x','y','z'},比较a b数组长度的大小关系 2·char a[ ]={'a'}和char b[10]={'a'}区
4个回答
展开全部
1.char a[ ]="xyz" 大于 b={'x','y','z'}, 因为c或者c++语言规定以字符串形式赋值 后面会默认自动添加一个\0结束字符 所以前者是4个字符 而以单个字符赋值则没有
2.char a[ ]={'a'}和char b[10]={'a'}区别 前者是省略数组大小 系统自动根据后面所赋值的多少规定数组的大小 所以前者其实就是定义了一个长度为1的字符数组 并把它赋值为a
后者已经定义数组长度为10 但是赋值却只有一个 所以系统默认把该数组的第一个字符赋值为a 其他的则为\0结束字符 主要区别还是在数组的长度 省略数组长度时根据后面赋值的个数确定数组的大小 已经定义过大小的数组则大小自然就是定义好的大小
2.char a[ ]={'a'}和char b[10]={'a'}区别 前者是省略数组大小 系统自动根据后面所赋值的多少规定数组的大小 所以前者其实就是定义了一个长度为1的字符数组 并把它赋值为a
后者已经定义数组长度为10 但是赋值却只有一个 所以系统默认把该数组的第一个字符赋值为a 其他的则为\0结束字符 主要区别还是在数组的长度 省略数组长度时根据后面赋值的个数确定数组的大小 已经定义过大小的数组则大小自然就是定义好的大小
展开全部
比较大小的关键代码:
char a[] = "xyz",
char b[3] = {'x','y','z'};
m = sizeof("xyz");
printf("%d\n",m);
m = sizeof(b);
printf("%d\n",m);
运行结果显示数组a的长度是4.数组b的长度是3.
第二个的区别在于char a[ ]={'a'}是初始化时没有指定a的大小,将根据初始化的值的多少分配数组的大小,在这个定义中数组a的大小是1,即只有一个元素而第二种定义方法是定义了一个有10个元素的数组,其中第一个元素的值是'a'
char a[] = "xyz",
char b[3] = {'x','y','z'};
m = sizeof("xyz");
printf("%d\n",m);
m = sizeof(b);
printf("%d\n",m);
运行结果显示数组a的长度是4.数组b的长度是3.
第二个的区别在于char a[ ]={'a'}是初始化时没有指定a的大小,将根据初始化的值的多少分配数组的大小,在这个定义中数组a的大小是1,即只有一个元素而第二种定义方法是定义了一个有10个元素的数组,其中第一个元素的值是'a'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-03-17
展开全部
1 a长因为a自动在结尾加上\0 2 char a[ ]={'a'} 只有1个元素 char b[10]={'a'} 有10个元素且10个元素全赋值为a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1:定义应为b[]=,,吧!可用if(strlen(a)>strlen(b)),然后输出较大的数!
2:a长度为1,b长度为10.
2:a长度为1,b长度为10.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询