int=float%int;有什么问题?

  • 本文关键字:问题 float%int int c
  • 更新时间 :
  • 英文 :

float m; 
int lftovr,x;
scanf("%.2f", &m);
lftovr = m%100;
x=m/100;

为什么显示错误:

||=== Build file: "no target" in "no project" (compiler: unknown) ===|
E:c programmenaeemchange.c||In function 'main':|
E:c programmenaeemchange.c|6|error: invalid operands to binary % (have 'float' and 'int')|

因为模除法"%"只适用于整数,而不适用于浮点。这是因为如果不是整数除法,就没有余数。

有一个约束,使得%运算符的两个操作数都必须具有整数类型:

6.5.5乘法运算符

限制

2 nbsp nbsp 每个操作数应具有算术类型%运算符的操作数应具有整数类型

C 2011在线草案

增加了重点。

如果您需要在float值的除法上获得余数,请使用fmod():

float lftovr = fmod( m, 100.0f );

相关内容

  • 没有找到相关文章

最新更新