#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void func1()
{
int arr[10];
memset(arr, 1, sizeof(arr));
}
void func2()
{
int index;
int* arr = (int*) malloc(5);
arr[index] = 55;
}
int main()
{
func1();
func2();
return 0;
}
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void func1()
{
int arr[10];
memset(arr, 1, sizeof(arr));
}
void func2()
{
int index;
int* arr = (int*) malloc(5);
arr[index] = 55;
}
void printLog()
{
printf("Hello world\n");
}
int main()
{
func1();
printLog();
func2();
return 0;
}
未添加打印日志时,index的值是func1中残留的值
1)printf中没加'\n'时,必定崩溃,func2函数中index一定是0x01010101;
2)在func1函数中加printf("Hello world\n");必定崩溃,func2函数中index一定是0x01010101;
3)当func1函数中arr数组大小是10时,index才必定是0x01010101;当为其他值时,index也是随机值;
4)index是0x01010101必定崩溃,是其他随机值时,怎么不崩溃?