我无法在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) );