为什么当我在循环中运行此代码时,只在控制台中打印整数?
for (int i = 1; i <= 50; i++) {
zombieSpeed[i] = (((arc4random()%40)+2)/7);
NSLog(@"%f", zombieSpeed[i]);
}
答案 0 :(得分:4)
问题出在这里
zombieSpeed[i] = (((arc4random()%40)+2)/7);
而不是40,2,7你应该使用40.0,2.0,7.0
还要确保ZombieSpeed是浮点型
答案 1 :(得分:2)
此行需要使用Float
值(40.0,2.0,7.0)
zombieSpeed[i] = (((arc4random()%40)+2)/7);
答案 2 :(得分:1)
除法是整数除法,使用显式小数点作为40.0或类型转换,因此至少有一个操作数是浮点数,它将整个表达式向上转换为浮点数。确保为计算机分配的左侧变量是具有相等或更大宽度的浮点类型(以保持精度)。