我无法在scanf中正确指定变量cociente的地址,我一直在尝试获取内存地址,但我不能希望您能为我提供帮助。
我正在使用2个结构,它们都是动态分配的。这些是可以澄清这一点的代码段。

typedef struct termino
{
  int exponente;
  float cociente;
} termino;

typedef struct polinomio
{
  //Se tiene un conjunto de términos de nombre polinomio
  termino* polinomio;
  int size;
} polinomio;

  polinomio* polinomio_;
  termino* terminos;
  for (i = 0; i < size_; i++) {
    printf("Ingrese el cociente %d:\n",i);
    scanf("%f",&((*polinomio_).(polinomio+i).cociente));
    //printf("\n%.2f",(*(polinomio_).*(polinomio+i).cociente);
  }


我使用gcc收到错误:

main.c:37:32:错误:“(”令牌之前的预期标识符
     scanf(“%f”,&((** polinomio _)。(polinomio + i).cociente));
                                ^

最佳答案

如果要使用“ + i”,请小心括号,不要使用“ ->”:

scanf("%f",&( (* (((*polinomio_).polinomio)+i) ).cociente) );


并带有“ ->”:

scanf("%f",&( ( (polinomio_->polinomio)+i )->cociente) );


但是,最好使用表索引,如注释中所建议,但是您在没有运算符“ ->”的情况下被询问:

scanf("%f",&( ((*polinomio_).polinomio)[i].cociente) );

10-04 21:28