gpt4 book ai didi

c - 结构体中的整数设置为零

转载 作者:行者123 更新时间:2023-11-30 18:26:41 24 4
gpt4 key购买 nike

我已经编写了这段代码,但输出不是我所期望的。我设置的整数:proj.startP1000 ,但在执行一些 for 循环后,变量设置为 0再次。

#include <stdio.h>

struct vezelstruct{
float verd[10][10][10];
int startP;
};

struct vezelstruct proj;

int main(int argc, char *argv[])
{
int g, i;

proj.startP=1000; // variable set to 1000
printf("%i\n", proj.startP);

for(g=1;g<=10;g++)
{
for(i=1;i<=10;i++){
proj.verd[g][10][i]=0.0;
}
}

printf("should be 1000: %i\n", proj.startP); // it's equal to 0 here
return 0;
}

我在这里做错了什么?

最佳答案

这里:for(g=1;g<=10;g++)在这里:for(i=1;i<=10;i++)你应该从0开始并以 9 结尾,即for(i = 0; i < 10; i++) .

当您尝试访问proj.verd[10][10][10]时,您实际上是在尝试访问数组边界之外的内存。这会导致未定义的行为,在本例中导致重写 proj.startP0 .

关于c - 结构体中的整数设置为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14828017/

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