我有以下代码,其中 book 是一个结构数组和 alpha, beta 。 .是结构的成员:
for(i = 0; i < sizeof(book)/sizeof(book[0]); ++i) {
n = book[i].alpha;
m = book[i].beta;
gnm = book[i].gamma;
hnm = book[i].delta;
dgnm = book[i].epsilon;
dhnm = book[i].zeta;
}
我想用它来将结构数组中的数据存储到变量 n、m、.. 等中。现在这段代码只将最后一行数据存储到每个变量中。我如何更改此代码以便每次都不会覆盖该值?例如,不只是存储 12,它应该是 123456789101112。
代码如下:
int main()
{
int i,n,m,floot;
int aplha[90],beta[90], buf_size = 3500, offset = 0;
float gnm,hnm,dgnm,dhnm,gamma[90],delta[90],epsilon[90],zeta[90];
static char c_str[90];
struct wmm
{
int alpha;
int beta;
float gamma;
float delta;
float epsilon;
float zeta;
}book[]= {
{1, 0, -29496.6, 0.0, 11.6, 0.0},
{1, 1, -1586.3, 4944.4, 16.5, -25.9},
{2, 0, -2396.6, 0.0, -12.1, 0.0},
{2, 1, 3026.1, -2707.7, -4.4, -22.5},
{2, 2, 1668.6, -576.1, 1.9, -11.8},
[...50 or so similar lines omitted...]
{12, 11, -0.8, -0.2, -0.1, 0.0},
{12, 12, 0.0, 0.9, 0.1, 0.0}
};
最佳答案
您需要以追加数据的方式存储它们。这可以通过某种字符串对象或数组来完成。我不确定你这里的数据类型是什么,所以我不能给出一个确切的例子,但我的想法是避免像那样重复赋值,因为这只会在循环的每次迭代中覆盖以前的值
关于c - 在 for 循环中覆盖值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6188930/