这是解释问题的简化代码:
int *nums[10];
*nums[0] = 5;
cout << *nums[0] << endl;
代码已编译,但执行时失败。所以我尝试了这个:
int *nums[10];
*nums[1] = 5;
cout << *nums[1] << endl;
它打印得很好。我发现数组是从 *nums[1] 到 *nums[10] 而不是通常的 *nums[0] 到 *nums[10]。我已经检查过使用 Netbeans C/C++ 编译器的其他人,他们的工作正常。我认为这是特定编译器中的某些偏好更改。如何更改它以使其按应有的方式工作?