以下程序为何会报错

来源:百度知道 编辑:UC知道 时间:2024/06/28 13:36:04
int a,b,d;
a=5;
b=9;
d=a/b;
printf("%.2f\n",d);

一、int a 后面的逗号是中文形式的要改为英文形式的
二、对于大的程序TC会自动认为需要链接浮点库,而小的程序,TC不会将浮点库在编译时包括进来,所以要让编译器知道本程序需要浮点转换,可以在第二行加入:float f1,*f2; f1=1.0; f2=&f1; 这样就可以执行了当然这样的结果还是错误的这里只是说明。
三、也可以直接将d定义为float型。
四、输出函数中,将整型数据用浮点数指定格式符输出是错误的。应该先将d强制转换为浮点型。
修改后程序如下:
int a,b,d;
float i;
a=5;
b=3;
d=a/b;
i=(float)d;
printf("%.2f\n",i);
或者
int a,b;
float d;
a=5;
b=3;
d=a/b;
printf("%.2f\n",d);