2012-07-05 17 views
-1

我有這樣的代碼(來自維基複製粘貼)。它代表了你在代碼中看到的那些大數的乘積。我的gmp版本是5.0.5。C GMP無限精度 - 我做錯了什麼?

#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.爲什麼?

回答

3

起初看起來很好,所以我不得不運行它自己並打印出你的其他兩個變量。

y設置爲0,因爲你有你的號碼中間的「我」的信,因此它無法解析它。

+0

OMG。我真笨。謝謝 ... – marxin 2012-07-05 20:42:05