【发布时间】:2013-07-13 18:19:00
【问题描述】:
以下代码有问题:
#include<stdio.h>
#include<conio.h>
float area_crcl(int);
float area_rect(int,int);
void main()
{
int n,a,b,r;
float area;
clrscr();
printf("\nEnter your choice-\n1.Area of circle\n2.Area of Square\n3.Area of Rectangle\n");
scanf("%d",&n);
switch(n)
{
case 1:printf("\nEnter the radius of circle..\n");
scanf("%d",&r);
area=area_crcl(r);
printf("\nArea of circle is %d\n",area);
break;
case 2:printf("\nenter the edge of square\n");
scanf("%d",&a);
area=area_rect(a,a);
printf("\nArea of square is %d\n",area);
break;
case 3:printf("\nenter the lenght n breadth of rectangle\n");
scanf("%d%d",&a,&b);
area=area_rect(a,b);
printf("\nArea of rectangle is %d\n",area);
break;
default:printf("\nU entered wrong choice..\n");
}
getch();
}
float area_crcl(int r)
{
float area;
area=3.14*r*r;
return area;
}
float area_rect(int a,int b)
{
float area;
area=a*b;
return area;
}
我得到的输出是:
输入您的选择- 1.圆的面积 2.广场面积 3.矩形面积 1
输入圆的半径.. 2
圆的面积为0
为什么我的输出是 0?
【问题讨论】:
-
pi=3.14...多么美妙的精确度 -
另外,
intmain(). -
此外,@OP 的另一个问题:下次检查您尝试使用的函数的文档 - 不要做出假设。这可不好。
-
@hacks:我对仍在使用 Turbo C(++) 的人没有任何同情。那里的免费编译器要少得多……而且显然它们也更符合要求。
-
@PHIfounder:或者他可以,我不知道,谷歌搜索“免费 c 编译器”并阅读第一个结果......或第一页上的任何其他结果,就此而言。没有。没有同情心。 :P
标签: c++ c function parameters