数组在传参的时候,真实传过去的是首元素的地址, (&arr[0])用的是指针接受 大小为4;
解决方式:在外面算好,再传上去
随机生成一个数字 使用rand()函数 可能会生成相同的数据 并且范围在0~0x7ffff
rand函数界限:stdlib.h头文件中有宏#define RAND_MAX 0x7fff
rand产生一个0-0x7fff的随机数,即最大是32767的一个数
使用rand()之前,需要调用 srand()函数 并且调用头文件 stdlib.h
srand((unsigned int )time(NULL));
rand()%100+1;
建议使用时间种子:srand((unsigned int)time(NULL));//传入空指针 生成时间种子
//srand确实要在rand之前调用,但是调用一次就足够了 并且可以变得更加随机
// 所以把srand这一行 移到main函数中即可 只调用一次 随机数在game里生成
int ret = rand()%100+1;//%100+1之后 的数字范围就是1~100
60 是\ddd类型的转义字符
在C99之前,数组的初始化不允许使用变量,
并且,即使是在C99中,使用变量的同时不可以对数组进行初始化 只能 int arr[n];
.c文件到.exe需要经过 预编译->编译->汇编->链接.
编译 ->链接.
sizeof(指针) 的大小是4个字节(byte)
memset初始化的时候,是**以byte为单位初始化**的
如果出现这样的代码:
```c
int arr[10]={0};
memset(arr,1,5*sizeof(int));
```
当16进制显示的是:
```c
0x01010101
```
每一个01都是一个字节 0x后有4个字节
同理,arr的地址也都变成了01的循环