我有一个小问题。我怎么写这个:
ComPrimSideCtr = (ComPrimSideCtr + 1) % 1.0E+6;
我收到错误消息:#31表达式必须具有整数类型,但是当我写:
ComPrimSideCtr = (ComPrimSideCtr + 1) % 1000000;
我根本没有收到任何错误消息?不是1.0E + 6和1000000相同的数字吗?
提前致谢!
答案 0 :(得分:4)
像这样1.0E+6
的C中的电子符号(科学记数法)仅用于浮点常数。
由于C不允许%
运算符的浮点操作数,因此它会发出该错误消息。
Isn< 1.0n + 6与1000000相同的数字
不,1.0E+6
等同于1000000.0
,默认情况下假定为double
常量(双精度浮点)。虽然1000000
是一个整数(int
)常量。