*a=*a*2怎么执行啊和a=a*2有什么区别啊

 我来答
sdwffzlll
2017-02-16 · TA获得超过758个赞
知道小有建树答主
回答量:498
采纳率:85%
帮助的人:247万
展开全部
*a = *a * 2按执行顺序加上括号是*a = (*a) * 2
a 是指向整数的指针, 这是一个地址,
*a 是指针所指的整数值,也就是b
所上上面的语句也等价于b = b * 2
如果在此执行 a = a * 2则是把原来的指针指向地址变大了两倍,有可能出现未知的错误。
追问
括号为什么不加在第一个*a上啊
逍遥一仔仔
2017-02-16 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:76.3万
展开全部
这里的a 是 int *类型的指针变量,无法 用 a= a*2; *a 才是int 类型,相当于取a指向地址存的整型数值,*a = *a *2 这样才可以运算。如果我推算的没错的话,答案应该是 4.3。4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1q4e7u9o7628
高粉答主

2017-02-16 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:90%
帮助的人:1266万
展开全部
a★a★=a★2,和a★2有乘积与幂的区别。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一方行走
2017-02-16 · 超过27用户采纳过TA的回答
知道答主
回答量:40
采纳率:100%
帮助的人:31.2万
展开全部
图片里下半截都看到,单纯的说下,你这里a是指针,函数里把a指向b,所以*a的值为2,
*a=*a*2执行后*a也就是b变量值为4,a=a*2没看到在图片哪里有,a作为指针这样运算没什么意义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式