变量计算
大佬康康这个等于几,为啥子啊萌新求助 我算出来2.5
那个浮点数算完不是1.5吗
然后后面那个是1
加起来2.5
我知道我错了,但不知道为啥错了
大哥们救救我 你是咋知道你错了的?这题目让我想起一丝若有若无的记忆。
曾经我进行计算,满以为float类型,应该有小数的。结果没有。只好在算式中把3写成3.0才正确
第二,这个强制转换我不清楚到底是算完了再转换,还是先转换再运算。
要验证,拿去运行一下就知道了。 405794672 发表于 2020-6-26 11:19
你是咋知道你错了的?这题目让我想起一丝若有若无的记忆。
曾经我进行计算,满以为float类型,应该有小数 ...
我提交了,显示的错误一脸懵逼 405794672 发表于 2020-6-26 11:19
你是咋知道你错了的?这题目让我想起一丝若有若无的记忆。
曾经我进行计算,满以为float类型,应该有小数 ...
我运行出来是2我丢,我现在一脸懵逼啊 估计不同编译器会产生不同结果 3.5 掌芝士 发表于 2020-6-26 11:22
我运行出来是2我丢,我现在一脸懵逼啊
运行出来是2说明前一个是1而不是1.5。也就说明先把整型运算完毕,等于1后,再强制换成float,等于1.0 (float)(a+b)/2=(float)(2+3)/2=5.0/2=2.5
(int)x%(int)y=3%2=1
最终结果应该是 2.5+1=3.5 3.5,强制类型转换运算符优先级很高。 405794672 发表于 2020-6-26 11:30
运行出来是2说明前一个是1而不是1.5。也就说明先把整型运算完毕,等于1后,再强制换成float,等于1.0
整形运算完毕后也不会等于1。 405794672 发表于 2020-6-26 11:19
你是咋知道你错了的?这题目让我想起一丝若有若无的记忆。
曾经我进行计算,满以为float类型,应该有小数 ...
你是很久以前就学c语音了? jhanker 发表于 2020-6-26 15:16
你是很久以前就学c语音了?
没有,才学没多久。我学的时候少。不是一直在学的,所以有若有若无的记忆 405794672 发表于 2020-6-26 15:46
没有,才学没多久。我学的时候少。不是一直在学的,所以有若有若无的记忆
大学的时候学了,有些细节都忘了 jhanker 发表于 2020-6-26 16:05
大学的时候学了,有些细节都忘了
现在也方便,用的时候可以百度。万事有度娘,不怕
页:
[1]