1·char a[ ]="xyz",b={'x','y','z'},比较a b数组长度的大小关系 2·char a[ ]={'a'}和char b[10]={'a'}区

 我来答
484117
2011-03-17 · TA获得超过1220个赞
知道小有建树答主
回答量:1553
采纳率:100%
帮助的人:1060万
展开全部
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结束字符 主要区别还是在数组的长度 省略数组长度时根据后面赋值的个数确定数组的大小 已经定义过大小的数组则大小自然就是定义好的大小
clidan123
2011-03-17
知道答主
回答量:9
采纳率:0%
帮助的人: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'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-03-17
展开全部
1 a长因为a自动在结尾加上\0 2 char a[ ]={'a'} 只有1个元素 char b[10]={'a'} 有10个元素且10个元素全赋值为a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友733d857
2011-03-17
知道答主
回答量:29
采纳率:0%
帮助的人:0
展开全部
1:定义应为b[]=,,吧!可用if(strlen(a)>strlen(b)),然后输出较大的数!
2:a长度为1,b长度为10.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式