7.11牛课题
Posted zuiaimiusi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.11牛课题相关的知识,希望对你有一定的参考价值。
对两个字符a和b进行初始化:char a[]="ABCDEF";char b[]=‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘;则以下叙述正确的是 A
Aa数组比b数组长度长
B a与b长度相同
C a与b数组完全相同
D a和b中都存放字符串
分析:
题目说的是长度,应该是strlen
(),对a求长度为6,但是对b求长度是一个未知的大小,应该
strlen
()知道遇到
‘\0‘
才停止,所以a,b之间的长度不能比较。
因为 char b[]=‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘; 没有字符串结束符,所以 strlen 的时候,会一直往后找,直到遇到 ‘\0‘,
b 找不到,就延着地址往上找,就把 a 的也算进去了,所以打印 strlen(b) 的结果是 12, printf b 的结果是 ABCDEFABCDEF。
做修改 char b[]=‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘, ‘\0‘; 这样就一致了。
sizeof
是大小,
sizeof
(a)=7,
sizeof
(b)=6,用字符串方式赋值比用字符逐个赋值要多占一个 字节 , 用于存放字符串结束标志‘\0‘,应该把题目的长度换成大小
。
以上是关于7.11牛课题的主要内容,如果未能解决你的问题,请参考以下文章