SHARK_8 发表于 2018-2-8 20:45:33

【提问】数型与浮点型的!!i 的值不同?

求大佬告知

SHARK_8 发表于 2018-2-8 20:59:21

有仁吗

风过无痕丶 发表于 2018-2-9 09:12:11

冒昧的问一句 , !i 是什么意思。 是取反嘛~

Dr丶温 发表于 2018-2-9 10:22:56

打印函数里面应该不能用这种符号吧

Dr丶温 发表于 2018-2-9 10:23:39

参数那里

SHARK_8 发表于 2018-2-9 18:05:14

可以吧

费尔曼 发表于 2018-2-10 00:17:39

本帖最后由 费尔曼 于 2018-2-11 01:35 编辑

因为返回的0和1默认类型是int类型。
float i是浮点型。
!i返回的值就是int型的0。
那么!!i也是个整型的1.

但是LZ用的是%f,也就是想用浮点型去输出这个整型的1,C语言中自动类型转换可以把float转成int,不能把int转换成float。
double同理。

既然不能int不能自动转换成浮点型并用%f输出,那为什么编译的时候又没有报错,还输出了0.00000?
知乎大佬给的详细解释:
https://www.zhihu.com/question/55152080
页: [1]
查看完整版本: 【提问】数型与浮点型的!!i 的值不同?