第一个程序是这样的
#include<stdio.h>
int main(){
      float PI=3.14159;
      int s,r=5;
      s=r*r*PI;
      printf("s=%f\n",s);

      return 0;
      
}
为什么结果是s=0.000000,中间没有类型自动转换么/

第二个程序是这么样的

#include<stdio.h>
int main(){
    printf("%f\n%f",365.,365f);

    return 0;
}

这个直接报错,说是invalid suffix "f" on integer constant //f在整数里有问题,这是咋回事呢?
f去掉,但第二个%f变成0.000000了,一样没有类型转换,这是咋回事呢?