-2

我是c的初学者,我遇到了这条线

char arr[] = "OX|-";

printf("%4c",arr[6]); //it prints -
  1. 它是如何在这里打印-的?

  2. 运算符是否|以这种方式在任何类型的数组中工作?

  3. 此行是否适用于 java、c# 等其他语言?

4

1 回答 1

0

这是因为变量存储在堆栈上的方式。通过引用 arr[6] 您已经超出了数组的末尾(只有 5 个字节),现在正在引用另一个内存区域。无论发生什么存储在那里,该调用都会打印出什么。该| 不是这里的操作员。

于 2016-07-11T07:26:28.630 回答