那个1.0乘在不同位置后得数就不一样了

##   #include<stdio.h>
 int main()
 {
   int a;
   int b;
   scanf("%d %d",&a,&b);
   printf("%d + %d = %d\n",a,b,a+b);
   printf("%d - %d = %d\n",a,b,a-b);
   printf("%d * %d = %d\n",a,b,a*b);
   if(a%b==0)
   {
     printf("%d / %d = %d\n",a,b,a/b);
   }
   else if(a%b!=0)
   {
     printf("%d / %d = %.2f\n",a,b,a*1.0/b); //a/b*1.0和原来有什么不同 

   }
  return 0; 
 }

输入a=2 b=6为例
a*1.0/b结果为0.33
a/b*1.0为0
这是为什么

可以大概理解为:a原本是2,乘以1.0变成了2.0是一个浮点数,这时候除以b=6,得到的是0.33
a如果先除以b,两个都是整型的,得到的是0,0再乘以1.0结果还是0

a/b*1.0: 因为a和b都是整数,因此a/b=2/6得到的也为整数,即0, 0乘以1.0当然为0
a*1.0/b:先计算a*1.0,因为1.0为 浮点数,因此a自动转化为浮点数2.0,结果为浮点数2.0, 然后再除以整数b,整数b自动转化为浮点数6.0,计算结果为浮点数0.33

如果除数和被除数都是整数,那么是整除,结果是不大于商数的最大的整数。
如果除数和被除数有浮点数,那么结果就是除法的结果
a/b*1.0
修改为
a/(float)b*1.0
可以得到相同的结果