有关算数运算符问题
#include<stdio.h>int main()
{
int i,j;
i=1+2.0;
printf("%f\n",1+2.0);
printf("i=%f\n",i);
printf("%d\n",1+2.0);
printf("i=%d\n",i);
return 0;
}
运算结果:
3.000000
i=0.000000
0
j=3
想问一下第一个printf和第二个printf为什么结果不一样,同理第三个和第四个。 因为数据类型不同,一个是int,一个是float int类型只能用%d输出,%f不行
同理,float不能用%d
否则都会出问题 类型不同。,转化过去会丢失数据的。新人我建议你换VS系列的编译器。提示很具体的,错多了你也知道是哪里错了 shuofxz 发表于 2018-9-10 09:54
int类型只能用%d输出,%f不行
同理,float不能用%d
否则都会出问题
理解了 谢谢 nsyg123 发表于 2018-9-10 12:11
类型不同。,转化过去会丢失数据的。新人我建议你换VS系列的编译器。提示很具体的,错多了你也知道是哪里错 ...
谢谢 BngThea 发表于 2018-9-10 09:45
因为数据类型不同,一个是int,一个是float
谢谢
页:
[1]