我有这样的代码(从维基复制粘贴)。它乘以你在代码中看到的那些大数字。我的 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。为什么?