计算圆的面积与体积为什么 用int 和float算的不一样

#include"stdio.h" #include"math.h" #define PI 3.14159 void main() { int r,area,s; r=4; area=4*r*r*PI; s=4/3*PI*pow(r,3); printf("%d, %d",area,s); }

#include"stdio.h" #include"math.h" #define PI 3.14159 void main() { float r,area,s; r=4.0; area=4.0*r*r*PI; s=4.0/3.0*PI*pow(r,3.0); printf("%f, %f",area,s); }
运行结果不一样,希望大佬能解决一下。