我使用libgmp創建一個簡單的程序。我可以gmp_printf所有gmp整數,所以我知道這些被初始化並正確分配。當我嘗試一個簡單的if-else條件時,會發生問題。GMP有條件
mpz_t n;
mpz_t c;
mpz_t m;
mpz_init(n);
mpz_init(c);
mpz_init(m);
mpz_set_str(c, "2", 10);
mpz_set_str(n, "2038074744", 10);
mpz_mod(m, n, c);
gmp_printf("\n%Zd\n%Zd\n%Zd\n", n, c, m);
if(m == 0)
{
printf("number is even\n");
}
else
{
printf("number is odd\n");
}
實際編號打印爲0,但總是顯示其他printf。
2038074744
2
0
number is odd
有沒有辦法讓這個工作?
工作。非常感謝 – user1647625