
C++问题求解答
15.下列程序段的输出结果是__D___。int*p,*q,k=1,j=10;p=&j;q=&k;p=q;(*p)++;printf("%d",*q);A.1B.2C.1...
15. 下列程序段的输出结果是__D___。
int *p, *q, k = 1, j=10 ;
p=&j; q = &k ; p = q ; (*p)++;
printf("%d",*q);
A.1 B.2 C.10 D.11
13. 对于以下的变量定义,表达式__C____是正确的。
struct node {
char s[10];
int k;
} p[4];
A.p->k=2 B.p[0].s=“abc” C.p[0]->k=2 D.p->s=‘a’
最好能解释一下每个选项 谢谢 展开
int *p, *q, k = 1, j=10 ;
p=&j; q = &k ; p = q ; (*p)++;
printf("%d",*q);
A.1 B.2 C.10 D.11
13. 对于以下的变量定义,表达式__C____是正确的。
struct node {
char s[10];
int k;
} p[4];
A.p->k=2 B.p[0].s=“abc” C.p[0]->k=2 D.p->s=‘a’
最好能解释一下每个选项 谢谢 展开
3个回答
展开全部
你的答案是错的
第一题,p,q是指针,开始的时候p指向j,q指向k,然后p=q也就是p指向了q指向的内存,也就是说p和q这时都指向了q指向的k,然后(*p)++是p指向的数值加1,也就是k+1.所以输出的*q和*p是相同的,也就是k的值,也就是2 所以应该选B
第二题,先看B,字符串是不能直接这么赋值的,除了初始化的时候;C,P[0]是一个对象,对象访问域要用'.‘不能用->;D,s是字符数组,而’a‘是字符,是不能赋值的。而A,p是个数组名,它也是p数组的第0号元素的地址,相当于p[0]的指针,指针用->来访问域是没问题的。
第一题,p,q是指针,开始的时候p指向j,q指向k,然后p=q也就是p指向了q指向的内存,也就是说p和q这时都指向了q指向的k,然后(*p)++是p指向的数值加1,也就是k+1.所以输出的*q和*p是相同的,也就是k的值,也就是2 所以应该选B
第二题,先看B,字符串是不能直接这么赋值的,除了初始化的时候;C,P[0]是一个对象,对象访问域要用'.‘不能用->;D,s是字符数组,而’a‘是字符,是不能赋值的。而A,p是个数组名,它也是p数组的第0号元素的地址,相当于p[0]的指针,指针用->来访问域是没问题的。

2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询