单选题设有如下定义语句:int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是( )。A*(k+2)Bk+2C*k+2D*k+=2
单选题
设有如下定义语句:int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是( )。
A
*(k+2)
B
k+2
C
*k+2
D
*k+=2
参考解析
解析:
本题中k指向数组m的首地址。*(k+2)先将指针后移两个元素,即为m[2]的地址,然后取出m[2]的值6。B项错误,k+2是m[2]的地址;C项错误,*k表示m[0]的值,然后再加上2,所以为4;D项错误,表示给m[0]的值加2,也为4。答案选择A选项。
本题中k指向数组m的首地址。*(k+2)先将指针后移两个元素,即为m[2]的地址,然后取出m[2]的值6。B项错误,k+2是m[2]的地址;C项错误,*k表示m[0]的值,然后再加上2,所以为4;D项错误,表示给m[0]的值加2,也为4。答案选择A选项。
相关考题:
设有以下程序: include using namespace std; int main() {inta,b,k:4,m=6,*p1=k 设有以下程序:include<iostream>using namespace std;int main(){int a,b,k:4,m=6,*p1=k,*p2=m;a=p1==m;b=(*p1)/(*p2)+7;cout<<a<<b<<end1;return 0;}执行该程序后,a的值为【 】,b的值为【 】。
设有如下变量定义: double a=3.500000;float b=2.5; int m=2,n=3; 则表达式“(float)(m+n)/2+(int)a%(int)b”的值是( )A.2.5B.3.5C.4.5D.表达式不正确
单选题设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是( )。A++kBk+=1Ck++Dk+1