小编Goh*_*ngo的帖子

为什么我的变量在除法时返回一个大负数?

我正在解决 cs50 的信用问题,我对一个部分的 for 循环感到困惑,因为我将一个长整数4003600000000014除以100,它返回一个大负数-1685133312

这是实际的代码:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    long int number;
    long int temp;
    do
    {
        number = get_long("Number: ");
    } while (number < 0);

    temp = number;
    int counter = 1;
    for (int i = 10; i <= number; i = 10)
    {
        number /= i;
        counter += 1;
    }
    printf("%i\n", counter);

    int product = 0;
    int divisor = 100;
    int modulo = 0;
    //printf("%li\n", (temp % 100) …
Run Code Online (Sandbox Code Playgroud)

c integer-division cs50

2
推荐指数
1
解决办法
82
查看次数

标签 统计

c ×1

cs50 ×1

integer-division ×1