指针使用的一些题目(新手

"若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是()。"
A.i= *p;
B.*p=*&j;
C.i=&j;
D.i=* *p;
 
根据定义,指针p指向i的地址,因此p指向地址的内容*p就是i的值zhidao
i=*p,相当于i=i
*p=*&j,相当于i=j,正确
i=&j,地址不能赋值给整型变量
i=**p,p不是一专个二级指针,**p强行把i的值视作一个地址,会导致不可预属知的结果
 
来自 <https://zhidao.baidu.com/question/498553144494414204.html> 
 
 
若有定义语句:int a[4][10], *p, *q[4];0≤i<4,则错误的赋值是
 
A) p=a
B) q[i]=a[i]
C) p=a[i]
D) p=&a[2][1]
正确答案
A
答案解析
[解析] 二维数组名是指向指针的指针,所以a和q都为指向指针的指针,而p为指向int类型的指针。所以选项A)是将一个指向int类型的指针用来指向一个指针的指针,显然是错误的。其他几个选项都是正确的赋值,其中选项D)是用&返回整数的地址,然后赋值给p。
 
来自 <https://wenku.baidu.com/view/1e936ddfc0c708a1284ac850ad02de80d4d806ac.html> 
 
C语句 char *aa[2]={"abcd","ABCD"};以下叙述正确的是?
A aa数组元素的值分别是字符串"abcd""ABCD"
B aa实在指针变量,指向含有两个数组元素的字符型一维数组
C aa数组的两个元素分别存放的是含有四个字符的一维数组的首地址
D aa数组的两个元素中各自存放了字符‘a’和‘A’的地址
 
答案为D
 
来自 <https://zhidao.baidu.com/question/919393723780843899.html> 
 
int fun1(char *x){char *y=x;while(*y++);return(y-x-1);}
请问*y=x;是什么意思 如果是while(y++)会怎么样呢
 
来自 <https://zhidao.baidu.com/question/1430641963850087179.html> 
 
 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值