使用structs在C中获取错误的变量值

使用structs在C中获取错误的变量值,c,data-structures,struct,C,Data Structures,Struct,我很难为cociente获得正确的值;每次我运行它时,cociente都打印为1,但这不是我要分配给它的值,这是我打印的代码: printf(“\nEl valor del cociente:%d”,(polinomio->polinomio->cociente)) 这是我的代码: #include<stdio.h> #include<stdlib.h> typedef struct termino { int exponente; float cociente;

我很难为cociente获得正确的值;每次我运行它时,cociente都打印为1,但这不是我要分配给它的值,这是我打印的代码:

printf(“\nEl valor del cociente:%d”,(polinomio->polinomio->cociente))

这是我的代码:

#include<stdio.h>
#include<stdlib.h>
typedef struct termino
{
  int exponente;
  float cociente;
} termino;

typedef struct polinomio
{
  termino* polinomio;
  int size;
} polinomio;

void multiplicarEscalar(int escalar, termino* term){
    term->cociente = (term->cociente)*(float)escalar;
}
main()
{
  int size_;
  termino* terminos;
  int cociente_temporal;
  polinomio *polinomio_;
  //polinomio_ = malloc(sizeof(polinomio));
  //printf("%d",(sizeof(polinomio_)*2));

  printf("Bienvenido al cálculo de operaciones usando 1 polinomio.\n");
  printf("Ingrese la cantidad de términos que tendrá el polinomio.");  
  scanf("%d",&size_);
  terminos =(termino*) malloc(sizeof(termino) * size_);
  polinomio_ = (polinomio*) malloc(sizeof(polinomio) );
  polinomio_->polinomio = terminos;
  polinomio_->size = size_;

  printf("Ingrese el cociente 0:\n");
  scanf("%d",&cociente_temporal);
  polinomio_->polinomio->cociente = cociente_temporal;
  //multiplicarEscalar(2,polinomio_->polinomio);
  printf("\nEl valor del cociente es: %d",(polinomio_->polinomio->cociente));
  free(polinomio_);
}
#包括
#包括
类型定义结构终端
{
整数指数;
浮动共客户端;
}特米诺;
类型定义结构polinomio
{
终点站*polinomio;
整数大小;
}波利诺米奥;
无效多重标量(整数标量,终端*术语){
术语->共同客户=(术语->共同客户)*(浮动)escalar;
}
main()
{
int-size_389;;
终点站*终点站;
int cociente_TIMAL;
波利诺米奥*波利诺米奥;
//polinomio=malloc(sizeof(polinomio));
//printf(“%d”)(sizeof(polinomio)*2);
printf(“一号政策的实施方案”);
printf(“polinomio监狱的入口”);
scanf(“%d”、&size_);
terminos=(termino*)malloc(尺寸(termino)*尺寸);
polinomio_=(polinomio*)malloc(sizeof(polinomio));
polinomio->polinomio=终端;
polinomio->size=size;
printf(“Ingree el-cociente 0:\n”);
scanf(“%d”&共同客户);
polinomio->polinomio->cociente=cociente\u temporal;
//多重标度(2,polinomio->polinomio);
printf(“\nEl valor del cociente es:%d”,(polinomio->polinomio->cociente));
免费(波利诺米奥);
}
您正在使用
%d”
打印浮点。这会导致未定义的行为

而不是

printf("\nEl valor del cociente es: %d",(polinomio_->polinomio->cociente));
使用

printf("\nEl valor del cociente es: %f",(polinomio_->polinomio->cociente));
//                                 ^^^