若有下面定义和赋值:int *p,*q=NULL,k=1;p=&k;以下选项中错误的赋值是()
A.*q=0;B.*p=k+1;C.p=0;D.q='\0';
====参考答案是C,求教详细解释??
C语言int *p,*q=NULL,k=1;p=&k;以下选项中错误的赋值是
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- CDSN_SB_SYY 2015-11-30 09:04关注
答案是A;
理由:p指向k,*q=NULL,q指向NULL
*q没有分配空间所以不能赋值;A错误;
*p指向K,即k=k+1; 正确
p=0;将保存地址清零;允许赋值;正确
q是指针,定义是已经分配指针的4字节空间,相当于q=NULL;正确本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 输入的char字符转为int类型,不是对应的ascall码,如何才能使之转换为对应ascall码?或者使输入的char字符可以正常与其他字符比较?
- ¥15 解决websocket跟c#客户端通信
- ¥30 Python调用dll文件输出Nan重置dll状态
- ¥15 浮动div的高度控制问题。
- ¥66 换电脑后应用程序报错
- ¥50 array数据同步问题
- ¥15 pic16F877a单片机的外部触发中断程序仿真失效
- ¥15 Matlab插值拟合差分微分规划图论
- ¥15 keil5 target not created
- ¥15 C/C++数据与算法请教