-4
void main( )
{
    int no = 123;
    while(no)
    { 
        no /= 10;
        printf("%d", no % 10);
    }
}

结果:

  • 2
  • 210
  • 21
  • 213

当我的所有输入都是整数时,为什么使用 float 而不是 int 会给我不同的结果?

4

1 回答 1

0

如果更改int nofloat no,则还必须将printf格式更改为 ,%f否则行为将未定义。此外,%没有为float参数定义运算符,那么您实际上尝试了哪些代码来观察?

你得到不同输出的原因是你执行了不同的计算:整数和浮点数的除法行为不同,除非分子是分母的倍数。

于 2019-04-12T07:41:24.733 回答