如题所述
b的for循环后面有个分号, printf并不是循环体里的
所以b项for循环啥也没输出, 只是在退出循环后输出了一下
所以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唯一正确项
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那里的分号了么