#include <stdio.h>
int a=0;
int b=0;
float c=0;
int main(){
scanf("%d%d",&a,&b);
c=a/b;
printf("%f",c);
return 0;
} 若a输入5,b输入2,输出结果c却等于2,这是因为int使a,b被定义为整数,在c=a/b的运算中,a,b被称为操作数,当两个操作数都为整数时,进行整数除法,小数被截断,例如:a输入10,b输入6,则输出c=1.000000(c被int定义为整数时则输出1).
若是想让c=a/b正确实现数学的基本运算,则需要将两个操作数的其中一个强制转换类型(两个都转换对输出的c无影响,也能够实现数学的基本运算)。
#include <stdio.h>
int a=0;
int b=0;
float c=0;
int main(){
scanf("%d%d",&a,&b);
c=(float)a/b;
printf("%f",c);
return 0;
强制转换类型的语法是在转换对象(要转换的表达式?)前加上目标类型的括号,如上例(float)
1595

被折叠的 条评论
为什么被折叠?



