在赋值的时候,C语言对待类型不匹配现象更加宽容,C会自动对他们进行类型转换。

 

  1. int c = 12.99//自动丢弃小数部分 
  2. float f = 3.1415926//float只能保证6位有效数字 

在使用printf的时候,类型不匹配就没有那么宽容了

 

  1. #include<stdio.h> 
  2.  
  3. int main(void){ 
  4.    int i = 3; 
  5.    float f = 3.14; 
  6.    printf("%f\n",i);//不会将int转换为float,而是产生垃圾值 
  7.    printf("%d",f); //不会将float转换为int,而是产生垃圾值  
  8.     
  9.    getchar(); 
  10.    return 0; 
  11.