#include <stdio.h>
#include<math.h>
int main(){
int i,j,k;
for(i=1;i<=10;i++)
{if(i/3.0==1) printf("%d\n",i);}
}
#if语句里的3.0和3有什么区别,为什么得出的答案会不同,我是大一新生能不能用我能听懂的语言解答啊,我们老师也不太清楚。谢谢谢谢谢谢
首先C语言里非零是true;
i/3 int类型 得到的结果是int,即4/3 =1;
i/3.0 是将i转化为float型,得到的结果是float型,即4/3 = 1.333333;
这你们老师不知道?
i/3是整除,会丢弃小数部分,比如10/3=3,而不是3.33333
i/3.0不是整除,包含小数部分,比如10/3.0=3.333333
1.000000和1是不同的,所以if语句不成立