c语言选择题(指针) 10
1、设int*p,I;以下正确合理的语句是()。A、*p=10;B、i=p;C、i=*p;D、i=2*p+1;你的回答:B(×)参考答案:A(求详解)...
1、设 int *p , I ;以下正确合理的语句是( )。
A、*p=10;
B、i=p;
C、i=*p;
D、i=2*p+1;
你的回答: B (×) 参考答案:A
(求详解) 展开
A、*p=10;
B、i=p;
C、i=*p;
D、i=2*p+1;
你的回答: B (×) 参考答案:A
(求详解) 展开
1个回答
展开全部
答案是A,首先定义p是一个指向int类型的指针,不过这个指针没有初始化,也就是没有指向。然后定义了一个int类型的变量i,这里千万不要认为i也是个指针,如果i跟p一样,要在前面也加个*号。
然后分析答案: A,这里对p指向的变量进行赋值,这里是相当于初始化了。所以正确。
B,不正确/不合理,因为p的地址不确定,所以给i赋值赋的是地址值,这个地址本身就不确定,赋值没有意义,认为是不合理的。
C,不正确,因为p指向的位置未知,这里不能对p进行解引用取值,所以这个答案可以马上排除。
D,也不正确,这里p是个地址,没有对地址进行乘法和加法的运算,所以这个答案也可以马上排除。
然后分析答案: A,这里对p指向的变量进行赋值,这里是相当于初始化了。所以正确。
B,不正确/不合理,因为p的地址不确定,所以给i赋值赋的是地址值,这个地址本身就不确定,赋值没有意义,认为是不合理的。
C,不正确,因为p指向的位置未知,这里不能对p进行解引用取值,所以这个答案可以马上排除。
D,也不正确,这里p是个地址,没有对地址进行乘法和加法的运算,所以这个答案也可以马上排除。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询