64,654
社区成员
发帖
与我相关
我的任务
分享
#include <time.h>
#include <stdlib.h>
#include <windows.h>
int main() {
int a,b[11];//本来是b[10],为判断哪句越界,故意声明为b[11]
srand((unsigned int)time(NULL));//按两次F11,等黄色右箭头指向本行时,调试、新建断点、新建数据断点,地址:&b[10],字节计数:4,确定。
while (1) {//按F5,会停在下面某句,此时a的值为10,b[10]已经被修改为对应0..4之一。
b[(a=rand()%11)]=0;
Sleep(100);
b[(a=rand()%11)]=1;
Sleep(100);
b[(a=rand()%11)]=2;
Sleep(100);
b[(a=rand()%11)]=3;
Sleep(100);
b[(a=rand()%11)]=4;
Sleep(100);
}
return 0;
}
int a = 10;
int b = 9;
int *p(&a);
int *c(&b);
cout << p << endl;
int a = 10;
int b = 9;
int *p(&a);
cout << p << endl;
// p变量是a的地址,与下面的给c和t赋值没有关系,即使下面的代码注释掉,p的值可以一样,有可能不一样
int *c(&b);
int *t = c;
#include <iostream>
using namespace std;
int main()
{
// int a = 10;
// int b = 9;
// int *p(&a);
// int *c(&b);
// cout << p << endl;
int a = 10;
int b = 9;
int *p(&a);
cout << p << endl;
int *c(&b);
int *t = c;
cout << p << endl;
return 0;
};