C 指数型数的模运算

C 指数型数的模运算,c,modulo,C,Modulo,我有一个小问题。为什么我写这篇文章: ComPrimSideCtr = (ComPrimSideCtr + 1) % 1.0E+6; 我收到错误消息:#31表达式必须具有整数类型,但当我写入时: ComPrimSideCtr = (ComPrimSideCtr + 1) % 1000000; 我根本没有收到任何错误消息?1.0E+6不是与1000000相同的数字吗 提前谢谢 C中的e表示法(科学表示法)如1.0E+6仅用于浮点常量 由于C不允许%运算符使用浮点操作数,因此会发出该错误消息

我有一个小问题。为什么我写这篇文章:

ComPrimSideCtr = (ComPrimSideCtr + 1) % 1.0E+6;
我收到错误消息:#31表达式必须具有整数类型,但当我写入时:

ComPrimSideCtr = (ComPrimSideCtr + 1) % 1000000;
我根本没有收到任何错误消息?1.0E+6不是与1000000相同的数字吗

提前谢谢

C中的e表示法(科学表示法)如
1.0E+6
仅用于浮点常量

由于C不允许
%
运算符使用浮点操作数,因此会发出该错误消息


1.0E+6不是与1000000相同的数字吗

否,
1.0E+6
相当于
1000000.0
,默认情况下假定为
double
常量(双精度浮点)。而
1000000
是一个整数(
int
)常量

C中的e表示法(科学表示法)如
1.0E+6
仅用于浮点常量

由于C不允许
%
运算符使用浮点操作数,因此会发出该错误消息


1.0E+6不是与1000000相同的数字吗


否,
1.0E+6
相当于
1000000.0
,默认情况下假定为
double
常量(双精度浮点)。而
1000000
是一个整数(
int
)常量

嗯,好的,所以没有办法用更简单的方式写那个数字了?当它这么大的时候,很难看到你有什么数字。为了避免多次重复,只需将它保存在一个
常量中,然后反复使用这个变量。@user3514815:
#定义十到六(1000000)
应该会有帮助。@user3514815:我希望我的答案能解决你的问题。如果没有请评论,如果有请接受。接受它将节省其他用户的时间,因为接受的答案不会不必要地吸引其他用户,因为您已经获得了正确的解决方案。谢谢。嗯,好的,那么没有更简单的方法来写那个数字了?当它这么大的时候,很难看到你有什么数字。为了避免多次重复,只需将它保存在一个
常量中,然后反复使用这个变量。@user3514815:
#定义十到六(1000000)
应该会有帮助。@user3514815:我希望我的答案能解决你的问题。如果没有请评论,如果有请接受。接受它将节省其他用户的时间,因为接受的答案不会不必要地吸引其他用户,因为您已经获得了正确的解决方案。谢谢。
1000000和
1000000。
不一样。
1000000和
1000000。
不一样。