鱼C论坛

 找回密码
 立即注册
查看: 3900|回复: 6

来看看呗!!

[复制链接]
发表于 2013-5-21 22:40:53 | 显示全部楼层 |阅读模式
1鱼币
#include<stdio.h>
#define PAI 3.14
void main()
{
float area(int x,int y);
float c;
int a,b;
scanf("%d %d",&a,&b);
c=area(a,b);
printf("c=%3f\n",c);
}
float area(int x,int y)
{ float a;
int h,r;
r=x;h=y;
a=h*PAI*r*r*(1/3);//加个括号//
return a;

}#include<stdio.h>
#define PAI 3.14
void main()
{
float area(int x,int y);
float c;
int a,b;
scanf("%d %d",&a,&b);
c=area(a,b);
printf("c=%3f\n",c);
}
float area(int x,int y)
{ float a;
int h,r;
r=x;h=y;
a=h*PAI*r*r*1/3;//不加个括号//
return a;

}                        为什么不一样的结果????

QQ截图20130521224006.png
QQ截图20130521223524.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-21 22:49:14 | 显示全部楼层
第一个括号优先级高一些1/3是等于0,0与其他的相乘等于0,第二个是h*PAI*r*r*1/3平行级别
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-23 12:27:55 | 显示全部楼层
加括号就是改变优先级,写程序时不记得优先级的时候  加括号是最明智的选择 还有加了括号让你的程序更具可读性
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-23 21:39:25 | 显示全部楼层
我只是路过打酱油的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-24 11:47:50 | 显示全部楼层
如果楼主把第一个的括号里改成(1.0/3),结果就会跟第二个程序相同了
因为第一个程序会先算(1/3),而1/3又会按整型处理,得到结果0,再跟其他数运算
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-24 12:22:12 | 显示全部楼层
强烈支持楼主ing……
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-24 12:33:05 | 显示全部楼层
我只是路过打酱油的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-28 02:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表