在C中为什么用scanf给字符数组赋值溢出内存了运行不出现乱码,正常运行。(图1 代码, 图2 输入输出结果)给定字符数组数据溢出内存运行报乱码。(图3 代码, 图4 输入输出结果)因为什么?有何区别?代码:#include<stdio.h>#include<stdlib.h>int main( int argc, char *argv[], char *env[] ){ char array[2] = {'\0'}; printf("\nPlease input array: "); scanf("%s", array); printf("Please Output array: %s\n", array); printf("\n"); return 0;}