関数内で値を代入すると,オリジナルの値とは別のものに書き換わってしまいます。警告が出るようになります。セットするようにして下さい。複数の値を返したい時は,複数の出力用引数を作ります。下記は,mpz_t型の引数を取って計算を行い,結果を引数に渡す関数の例です。サボったりすることもあるでしょうが。配列1個分として実装されています。構成要素を持ったオブジェクトを生成するからです。ポインタを渡すことになるからでもあります。構成要素は内部的に使われるだけで,直接アクセスして良いものではありません。将来のGMPに対しては非互換になってしまう可能性が出てきます。