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.
 
     
     
     
    