C 程序填空题
本帖最后由 ing 于 2020-3-7 17:33 编辑我不知道这里为什么A、B 是可以的,需要一个详细的解释
我用 sizeof(a) 获取的 a 长度是 16,但选项中没有这个结果,难道这获取的不是字节大小?
我并没有看懂题目的意思
1空,得到字符然后把字符放在for循环自增???
14题应该是让你判断true还是false c语言里0是假,1是真吧 第七题编译器是从右往左编译A选项 先是&a取a的地址,然后*(&a)就等于3,B选项,*代表取值操作符,p本身存放的是a的地址,然后*p就等于3 13题是因为vc的内存对齐机制变成了(6+2)+8=16,你加上这样一句代码 #pragma pack(1) ,就能得到真实的大小6+8=14,具体怎么对齐的百度一下你就知道 14题选d
b是char类型的,‘0’用ascii码表示,换成int类型是48
A:!a为0,!b为0 两者相等 结果为真也就是1
B:!a和b 0和1取或 结果为1
C:a==b为0 取否为1 填空的话
第一个空是*p!='\0'
第二个空是*p>='0'&&*p<=‘9’ 本帖最后由 ing 于 2020-3-7 17:35 编辑
深夜雪 发表于 2020-3-6 13:31
13题是因为vc的内存对齐机制变成了(6+2)+8=16,你加上这样一句代码 #pragma pack(1) ,就能得到真实的 ...
懂了dalao,前面地址不是后面的整数倍就补齐。。。
页:
[1]