我有一个“MyStruct”数组
typedef struct MyStruct {
double a;
double b;
double c;
}MyStruct ;
....
MyStruct tab[30];
for (i=0;i<30;i++){
tab[i].a=1.0f;
tab[i].b=2.0f;
tab[i].c=3.0f;
}
for(int i=0;i<10;i++){
MyStruct s = tab[i];
....
//tab[i] correct (1,2,3)
//s incorrect (0,0,0)
}
...
当我在 MyStruct s = tab[i];
上放置断点并在编译器中观察时,选项卡中的值是正确的。问题是我的变量 's'、s.a、s.b 和 s.c 与索引 i 处的数组的值不同。
我不明白这个问题
最佳答案
断点是否正好位于这一行:
MyStruct s = tab[i];
如果是这种情况,则分配尚未发生。进入调试器中的下一行并检查值。
关于c - 数组中的结构体值在 C 中返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20858345/