我有个小问题。为什么我要写这个:
ComPrimSideCtr = (ComPrimSideCtr + 1) % 1.0E+6;
我得到错误消息:#31表达式必须具有整型,但当我编写时:
ComPrimSideCtr = (ComPrimSideCtr + 1) % 1000000;
我没有收到任何错误信息?1.0E+6不就是1000000吗?
提前谢谢!
最佳答案
C中的e表示法(科学表示法)仅用于浮点常量。
因为C不允许1.0E+6
运算符使用浮点操作数,所以它会发出错误消息。
1.0E+6不是1000000
不,%
等于1.0E+6
,默认情况下,该值假定为1000000.0
常量(双精度浮点)。而double
是一个整数(1000000
)常量。
关于c - 使用指数形式的数字进行模运算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23363443/