Tag: 函数定义

隐式函数声明的行为

我知道使用没有原型的函数是错误的。 但当我摆弄时,我遇到了这种奇怪而矛盾的行为。 TEST1 #include #include void main(){ char c=’\0′; float f=0.0; xof(c,f);/* at this point implicit function declaration is generated as int xof(int ,double ); */ } int xof(char c,float f) { printf(“%d %f\n”, c,f); } 隐式函数声明将是int xof(int,double); 错误是 variablename.c:8:5:错误:’xof’int xof(char c,float f)的冲突类型 我理解这一点,因为隐式生成的函数声明 (将整数值默认为INT,小数默认为DOUBLE)与以下函数定义不匹配 TEST2 #include #include void main(){ unsigned int a =UINT_MAX; int […]