| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1001 人关注过本帖
标题:下午学习 遇到不懂
只看楼主 加入收藏
大学生c语言
Rank: 2
等 级:论坛游民
帖 子:47
专家分:10
注 册:2012-6-19
结帖率:54.55%
收藏
已结贴  问题点数:20 回复次数:11 
下午学习 遇到不懂
#include "stdio.h"
main()
{
    float x=3.5,y=4.6, s;       //定义变量数据类型并赋初值
    int a=8;
    s=x+a%3*(int)(x+y)%2/4;
    printf("%d,%f,%f,s=%6.2f\n",a,x,y,s);



}
上面程序运行正常,可是不知道 s=x+a%3*(int)(x+y)%2/4;是这么算出来的,还有s=%6.2f种的6.2是什么作用  求解释哦
搜索更多相关主题的帖子: 学习 include 
2012-06-26 15:27
大学生c语言
Rank: 2
等 级:论坛游民
帖 子:47
专家分:10
注 册:2012-6-19
收藏
得分:0 
怎么还没人来呢  学习停留中  百度一下

你教我入门,我让代码飞起来---------我的思维在代码里游荡
2012-06-26 15:41
s夜闯杏花村y
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2012-6-26
收藏
得分:3 
这几个运算符之间有结合关系,具体的关系我忘了,但是我感觉这个是纯学习用的把,实际中应该没啥用把
2012-06-26 15:58
大学生c语言
Rank: 2
等 级:论坛游民
帖 子:47
专家分:10
注 册:2012-6-19
收藏
得分:0 
  在学

你教我入门,我让代码飞起来---------我的思维在代码里游荡
2012-06-26 15:58
w995612220
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:139
专家分:313
注 册:2012-6-20
收藏
得分:3 
   不用管它?刚入门,往后学就知道了
2012-06-26 16:26
大学生c语言
Rank: 2
等 级:论坛游民
帖 子:47
专家分:10
注 册:2012-6-19
收藏
得分:0 
回复 5楼 w995612220
谢谢哈

你教我入门,我让代码飞起来---------我的思维在代码里游荡
2012-06-26 17:55
星yu
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2012-6-26
收藏
得分:3 
(int)(x+y)是强制(x+y)的 结果成整形,其他的按运算级的高低来算。6.2是说s的结果共占6位,其中小数点后有两位数。希望可以帮助你。
2012-06-26 18:30
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
收藏
得分:3 
嗯,就像楼上说的一样。
2012-06-28 14:24
根号二
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2011-10-4
收藏
得分:3 
%6.2f表示该数据长度为6,小数点后为两位数字。
2012-06-28 15:11
ithaibo
Rank: 2
等 级:论坛游民
帖 子:52
专家分:50
注 册:2012-3-30
收藏
得分:3 
=x+a%3*(int)(x+y)%2/4
这个计算并不难,只是要注意优先级。
"%" "*" "/"的优先级相同。(int)——强制类型转换优先级高于前面几种。因此先运算。过程如下:
1——a%3结果为2;
2——2乘以*(int)(x+y)%2的结果(0),因为*(int)(x+y)%2结果为8,8取2的余数等于0;
所以结果为3.50——因为%6.2f表示长度为6,取两位小数,所以a后面加了一个0.

希望你能明白。有问题可以讨论。
2012-06-28 17:17
快速回复:下午学习 遇到不懂
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015419 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved