c语言,如题,int a[5];p=a;下面不能表示a[1]的是,a+1;a++;p+1;p++;可能是多选。说出详细理由。

说出详细理由,并提出相关知识点。忘记了还有个,int*p;的语句。不好意思。... 说出详细理由,并提出相关知识点。
忘记了还有个,int *p;的语句。不好意思。
展开
 我来答
幽兰一草
2010-10-23 · TA获得超过1106个赞
知道小有建树答主
回答量:601
采纳率:0%
帮助的人:443万
展开全部
a 代表数组名,是第一个元素的地址,它是const定值,不能加减操作,也不能自加操作。即a=a+1,a++都是错误的. 而 *(a+1)才能表示a[1]
而p是指针,可以进行加减操作和自加操作,后面的两种可以。
378508145
2010-10-23 · TA获得超过544个赞
知道答主
回答量:145
采纳率:0%
帮助的人:86.8万
展开全部
刚打错了 不好意思 给我分哦 我改了3次了
a+1 不能
p是指针可以P++,也可以P+1
a是数组名簿不可以a++,但可以a+1
a++其实是a=a+1
知识点:指针运算,数组定义和运算
答案不保证完全对,我也很久没看那些了
int *p 是定义一个整形的指针变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
这嘎达是啥地方
2010-10-23 · TA获得超过836个赞
知道小有建树答主
回答量:264
采纳率:100%
帮助的人:196万
展开全部
a++;不可以
a是首地址不是指针 不能可赋值的左值 不能用++符对其操作
但是a+1这样的表达是可以了 因为这里a的值作为+的一个操作数但是a本身的值是没有改变的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心云细雨
2010-10-24 · TA获得超过687个赞
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:337万
展开全部
*(a+1);*(p+1);*(p++)都等于a[1];
数组名称是数组第一个元素的地址。
*p=a初始化指针让它指向数组a第一个元素的地址。
数组和指针的区别:可以改变指针包含的地址,但是不能改变数组名称引用的地址。
a+1没有改变a的地址,a++(a=a+1)改变了a的地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
叶孤学民0jeb7f
2010-10-24 · TA获得超过233个赞
知道小有建树答主
回答量:453
采纳率:0%
帮助的人:335万
展开全部
其实这种问题最好的解决方式莫过于自己动手实践了,编个小代码测试一下,几分钟的事情;
经过自己测试得到的结果不但更有成就感而且还不容易忘记;
测试代码可以打印出以上表达式的实际值,也就是地址值;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式