I'm trying to find the area and perimeter of a circle using pointers. The correct code looks like this
#include<stdio.h>
void main(){
int radius;
float area, peri;
printf("Enter the radius of a circle: ");
scanf("%d", &radius);
areaperi(radius, &area, &peri);
printf("Area is %f\nPerimeter is %f", area, peri);
}
areaperi(int r, float *a, float *b){
*a = 3.14*r*r;
*b = 2*3.14*r;
}
But if I replace the data type of radius to float while declaring and scanning the radius and change type of r
in areaperi()
it gives me an error.
#include<stdio.h>
void main(){
float radius;
float area, peri;
printf("Enter the radius of a circle: ");
scanf("%f", &radius);
areaperi(radius, &area, &peri);
printf("Area is %f\nPerimeter is %f", area, peri);
}
areaperi(float r, float *a, float *b){
*a = 3.14*r*r;
*b = 2*3.14*r;
}
[Error]Conflicting types for areaperi
I use Dev C++.
I don't understand why my code doesn't work for floating value of radius.