C程序中的数组

RAJ*_*RAJ 1 c arrays

这是我的C程序代码:

#include<stdio.h>

unsigned int count = 1; 

int main(void)
{
  int b = 10;
  int a[3];
  a[0] = 1;
  a[1] = 2;
  a[2] = 3; 

  printf("\n b = %d \n",b);
  a[3] = 12; 
  printf("\n b = %d \n",b); 

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

而输出为

b=10 
b=12
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释它为什么以及错误背后的原因.

dev*_*ull 6

你正在写超出数组的范围.这将调用未定义的行为.