gpt4 book ai didi

c - 如何将全0设置为通过结构(C)声明的数组?

转载 作者:太空宇宙 更新时间:2023-11-04 06:49:27 25 4
gpt4 key购买 nike

当我练习 C 编程时,我发现了一个关于结构数组的问题。特别是,我将编写一个程序来处理不同的多项式;所以我声明了一个结构“Pol”,其中包含变量“order”和数组“coefficients”。然后我将用多项式进行 soe 运算(例如它们中的两个之和)。问题是关于如何在结构中声明数组“系数”,因为当我想对两个多项式求和时,我想将数组的所有元素设置为 0(以解决关于两个具有不同顺序的多项式之和的问题).我知道如何将 0 设置到 main 函数中声明的数组中(将单个值设置为 0,然后所有其他值都自动设置为 0)。但是我怎样才能对结构做同样的事情呢?

提前感谢所有将要帮助我的人。

我公开下面的代码(未完成):

#include <stdio.h>
#include <math.h>

#define N_MAX 100

typedef struct
{
float coefficients[N_MAX];
int order;
} Pol;

void println(int n);
void readPol(Pol* pol);

int main(int argc, char const *argv[])
{
Pol p1, p2, pS;

readPol(&p1);
return 0;
}

void readPol(Pol* pol)
{
printf("Polynomial order: ");
scanf("%d", &pol->order);
println(1);

for(int i = pol->order; i >= 0; i--)
{
printf("Coefficient of x^[%d]: ", i);
scanf("%f", &pol->coefficients[i]);
}
}

void println(int n)
{
for(; n > 0; n--)
printf("\n");
}

最佳答案

初始化结构的语法类似于初始化数组的方式。您按顺序指定初始化器,将大括号放在任何嵌套的初始化器周围:

Pol p1 = { { 0 }, 0 };

关于c - 如何将全0设置为通过结构(C)声明的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53529220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com