C GMP无限精度 - 我做错了什么?

时间:2012-07-05 10:54:45

标签: c numbers gmp

我有这样的代码(来自wiki的复制粘贴)。它是你在代码中看到的那些大数字的乘法。我的gmp版本是5.0.5。

#include <stdio.h>
#include <gmp.h>

int main() {
    mpz_t x;
    mpz_t y;
    mpz_t result;

    mpz_init(x);
    mpz_init(y);
    mpz_init(result);

    mpz_set_str(x, "762323423423423443534512034534534534558254738945", 10);
    mpz_set_str(y, "92635911345345345345234534534534567767i888439081", 10);

    mpz_mul(result, x, y);
    gmp_printf("%Zd\n", result);

    mpz_clear(x);
    mpz_clear(y);
    mpz_clear(result);

    return 0;
}

结果是.. 0.为什么?

1 个答案:

答案 0 :(得分:3)

起初它看起来很好,所以我必须自己运行它并打印出你的其他两个变量。

y设置为0因为你有一封信&#34;我&#34;在你的号码中间,所以它无法解析它。