typedef struct Int40
{
  // a dynamically allocated array to hold a 40
  // digit integer, stored in reverse order
  int *digits;
} Int40;

基本上我实现了这些函数,loadCryptoVariable和loadHwConfigVariable都返回一个40位的值
Int40 *p;
  Int40 *q;
  Int40 *r;
    p = loadCryptoVariable("cryptoVarFile");
      q = loadHWConfigVariable(0);
     r = kw26Add( p, q);

但是,我不知道如何将两者相加……(附带说明:我知道我不应该像malloc那样使用更明确的方法来做,不过,我现在只是试图找出相加的方法)
Int40 *kw26Add(Int40 *p, Int40 *q)
{
    Int40 *result;
    result = malloc(300);
    result->digits = malloc(300);

    result->digits = p->digits + q->digits;

     return result;
}

最佳答案

我不确定我是否理解这个问题,但当我阅读它时,您需要遍历数组。例如:

for (int i = 0; i < 40; ++i)
    result->digits[i] = p->digits[i] + q->digits[i];

09-06 15:48