这是一道c++选择题,若有定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为7的表达式为是( ). A:*(p+7) B:p[*(a+6)] C:p+6 D:a[*(p+5)]
时间: 2024-05-24 09:15:56 浏览: 57
7种数值计算方法的C++实现
这道选择题中,定义了一个整型数组 `a`,并将其初始化为 `{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}`。同时,定义了一个整型指针 `p`,并将其指向数组 `a` 的首地址。
我们需要找到值为 7 的表达式,即表达式的值为 7。
A 选项:`*(p 7)`,这是一个语法错误的表达式,因为 `p` 是一个指针,不能像数组一样直接访问指针后面的元素。
B 选项:`p[*(a 6)]`,`a[6]` 的值为 7,所以 `*(a 6)` 的值也为 7,`p[7]` 的值为 `a[7]`,即 8。所以该表达式的值不为 7。
C 选项:`p 6`,这是一个指针地址的表达式,不是一个值为 7 的表达式。
D 选项:`a[*(p 5)]`,`p` 指向 `a` 的首地址,`*(p 5)` 的值为 `a[5]`,即 6,所以 `a[6]` 的值为 7,即该表达式的值为 7。
因此,正确答案为 D。
阅读全文