例如:
array[2]={1,2};
myInt=5;
if (array[myInt-6]==2)
cout << true << endl;
else
cout << false << endl;
Run Code Online (Sandbox Code Playgroud)
if语句中数组中的引用值明显超出范围.当我编译并运行它时,我得到错误的输出,这是有道理的,因为条件不正确,但我想知道为什么没有错误输出.
Luc*_*ore 10
因为未定义的行为未定义.任何事情都可能发生,包括出现在工作中.
编译器和运行时不需要诊断.你必须自己负责检查.
| 归档时间: |
|
| 查看次数: |
206 次 |
| 最近记录: |