DD2*_*D24 -1 c c++ parameters function
我遇到以下代码问题:
#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;
}
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
输入您的选择 - 1.Area of circle 2.Area of Square 3.Area of Rectangle 1
输入圆的半径.2
圆的面积是0
为什么我输出0?
您的打印声明是:
printf("\nArea of circle is %d\n",area);
Run Code Online (Sandbox Code Playgroud)
area是一个float你正在使用的%d格式字符串,用于int变量.这是行不通的-使用%e,%f,%g,或%a.
| 归档时间: |
|
| 查看次数: |
1614 次 |
| 最近记录: |