struct S { int i; int * p;}; main () {S s ; int *p =&s.i ; p[0]=4; p[1]=3; s.p=p; s.p[1]=1;s.p[0]=2struct S { int i; int * p;}; main (){S s ;int *p =&s.i ;p[0]=4;p[1]=3;s.p=p;s.p[1]=1;s.p[0]=2:} 请问程序会在哪一行崩溃?要不然看不懂~@@
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 11:09:53
struct S { int i; int * p;}; main () {S s ; int *p =&s.i ; p[0]=4; p[1]=3; s.p=p; s.p[1]=1;s.p[0]=2struct S { int i; int * p;}; main (){S s ;int *p =&s.i ;p[0]=4;p[1]=3;s.p=p;s.p[1]=1;s.p[0]=2:} 请问程序会在哪一行崩溃?要不然看不懂~@@
struct S { int i; int * p;}; main () {S s ; int *p =&s.i ; p[0]=4; p[1]=3; s.p=p; s.p[1]=1;s.p[0]=2
struct S { int i; int * p;};
main ()
{S s ;
int *p =&s.i ;
p[0]=4;
p[1]=3;
s.p=p;
s.p[1]=1;
s.p[0]=2:
} 请问程序会在哪一行崩溃?要不然看不懂~@@
struct S { int i; int * p;}; main () {S s ; int *p =&s.i ; p[0]=4; p[1]=3; s.p=p; s.p[1]=1;s.p[0]=2struct S { int i; int * p;}; main (){S s ;int *p =&s.i ;p[0]=4;p[1]=3;s.p=p;s.p[1]=1;s.p[0]=2:} 请问程序会在哪一行崩溃?要不然看不懂~@@
程序应该在最后一句崩溃,
struct S { int i; int * p;};
main ()
{S s ;
int *p =&s.i ; //p指针指向s结构体中变量i
p[0]=4; //p[0] = 4;给i赋值4;
p[1]=3; //p[1]指向s.p指针,p指针占用8字节,p[1] =3修改了s.p指 针的低位,所以不会出错.
s.p=p; //s.p = p使s.p指向自身地址
s.p[1]=1; //修改了s.p指针高位的值,s.p指向未知内存
s.p[0]=2://操作s.p指向的内存,程序崩溃
}