|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 赋值运算,各位大大帮帮忙啊
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1111
人关注过本帖
标题:
赋值运算,各位大大帮帮忙啊
只看楼主
加入收藏
flhcxhn
等 级:
新手上路
帖 子:1
专家分:0
注 册:2010-5-23
结帖率:
0
楼主
收藏
已结贴
√
问题点数:20 回复次数:11
赋值运算,各位大大帮帮忙啊
小弟我刚刚学C语言,买了本谭浩强的C语言了,里面有一道题搞不懂是咋算的,请各位大大求解!!
题目是:
写出下面赋值表达式运算后a的值,设原来a=12;
其中第一题:a/=a+a
第二题:a%=(n%=a),n的值等于5。
由于a/=a+a 我无论咋算都是0.5
,为什么参考答案上写的是0呢,我是这样算的:首先12+12=24,然后12除24=0.5
请各位大大求解,最好带上运算过程 。小弟感激啊
搜索更多相关主题的帖子:
运算
赋值
2010-05-23 14:10
举报帖子
使用道具
赠送鲜花
skyuser213
等 级:
论坛游侠
帖 子:37
专家分:117
注 册:2010-5-9
第
2
楼
收藏
得分:2
因为A是整数, 在C语言里整数和整数的除法是舍去余数的
取模运算是专门用来取余的
2010-05-23 14:15
举报帖子
使用道具
赠送鲜花
小鱼漂流
该用户已被删除
第
3
楼
收藏
得分:2
提示:
作者被禁止或删除 内容自动屏蔽
2010-05-23 14:29
举报帖子
使用道具
赠送鲜花
南国利剑
等 级:
贵宾
威 望:
29
帖 子:1165
专家分:3536
注 册:2010-4-12
第
4
楼
收藏
得分:2
先解释这个a/=a+a
首先你分析的没有错,问题出在最后的6/12,这个的结果就是0。因为你给出的参加运算的数都是整数,所以运算结果也默认是整数,而且不会四舍五入。
a%=(n%=a)这个是先算n%=a这个相当于n=n%a结果是2然后再算a%=2相当于a=a%2结果当然是0。
呵呵,不知道说清楚了吗?
南国利剑
2010-05-24 02:28
举报帖子
使用道具
赠送鲜花
南国利剑
等 级:
贵宾
威 望:
29
帖 子:1165
专家分:3536
注 册:2010-4-12
第
5
楼
收藏
得分:0
这是让你明白有这回事而已,实际的实践中建议不要使用这种容易出错的表达式。
南国利剑
2010-05-24 02:29
举报帖子
使用道具
赠送鲜花
duanxianla
该用户已被删除
第
6
楼
收藏
得分:2
提示:
作者被禁止或删除 内容自动屏蔽
2010-05-24 02:41
举报帖子
使用道具
赠送鲜花
共饮长江水
等 级:
论坛游民
威 望:
1
帖 子:31
专家分:47
注 册:2010-3-16
第
7
楼
收藏
得分:2
第一题:a/=a+a
因为a是整形所以结果自动忽略了小于1的部分,结果是0
第二题:a%=(n%=a),n的值等于5:n%a=5(求余的规则是结果向零靠拢)a%=5即a=12%5=2
[
本帖最后由 共饮长江水 于 2010-5-24 08:27 编辑
]
2010-05-24 08:24
举报帖子
使用道具
赠送鲜花
源本英明C
来 自:日本
等 级:
论坛游侠
帖 子:113
专家分:154
注 册:2010-5-14
第
8
楼
收藏
得分:2
第一题:12/24,因为运算后的值小于一,大于0,你可以这样理解,C语言中,取模运算实行的运算方法是“多退少不补”,也就是说,只要小数部分是0-0.999999.... 都舍弃。只取整数部分,如果整数部分小于1,那么该值就等于0。
第二题:6楼和7楼分析的是正确的,5楼的仁兄可能看错了N和A的初值。进行这种复杂的运算,您可以自右向左分解开来,再逐条自右向左运算,最后得到的a的值就是最终结果。%运算时取余!
柔术:打败对手的最好方法就是心狠手辣,因为对手不会给你太多机会,如果他够厉害!
2010-05-24 15:16
举报帖子
使用道具
赠送鲜花
夏日清风
等 级:
论坛游侠
帖 子:71
专家分:126
注 册:2010-4-16
第
9
楼
收藏
得分:2
因为你的a是int形吧,这种形式只能输出整数,后面的小数忽略,若改为float形应该就符合你的要求了。
2010-05-24 17:54
举报帖子
使用道具
赠送鲜花
zhiyanzhai33
等 级:
论坛游民
帖 子:50
专家分:15
注 册:2009-7-30
第
10
楼
收藏
得分:2
数据类型的问题,看来你是定义 a 为整形变量 int,如果定义为 float a 就可以得到你梦想的0.5了:
2010-05-24 18:11
举报帖子
使用道具
赠送鲜花
12
1/2页
1
2
快速回复:
赋值运算,各位大大帮帮忙啊
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.013067 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved