在C ++中像数组[1-00]一样错误地声明数组,但代码仍然有效,输出不正确?

问题描述 投票:1回答:1

当我错误地将数组声明为array [1-00]时,我没有得到正确的答案。但是,当我将其更改为常规声明(如array [100])时,我将清除所有测试用例。任何人都可以对这种类型的问题提供任何解释吗?请。

c++ arrays syntax declaration
1个回答
2
投票

您声明的数组大小为1。

int arr[100]; //100 elements
int arr2[1]; //1 element
int arr3[1-00] // 1 - 0 = 1 element

访问数组外部的元素是未定义的行为,这意味着编译器可以执行所需的任何操作。阅读this,了解有关未定义行为的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.