C语言 这道题c为什么对?b为什么错?

如题所述

b的for循环后面有个分号, printf并不是循环体里的
所以b项for循环啥也没输出, 只是在退出循环后输出了一下
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-01-11
A 数组只有五个元素。 p+0到p+4合法, p+5越界。
B *a其实就是a[0] 所以 *a+1是a[0]+1 不是地址。
C a本身已经等效int*型了,所以 &a其实是int**型。 更准确的说法是int*[5]这样的数组指针。 再加1,其值等效于&a[5]
这段可能不好理解, 总之这里是类型不匹配就好。
D唯一正确项
第2个回答  2016-01-22
因为C是循环输出的追答

而B的循环体是空语句

追问

b不也是吗

追答

看到B的for那里的分号了么

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网