记录一个笔试题,下面哪里会报错
#include <stdio.h> struct S { int i; int *p; }; int main() { S s; int *p = &s.i; p[0] = 3;//i=3,s.p=0; p[1] = 4;//i=3,s.p=4 s.p = p;//i=3,p为i的地址 s.p[1] = 3;//i=3,p=3 s.p[0] = 4;//这里段错误,因为s.p是常量3 return 0; }
记录一个笔试题,下面哪里会报错
#include <stdio.h> struct S { int i; int *p; }; int main() { S s; int *p = &s.i; p[0] = 3;//i=3,s.p=0; p[1] = 4;//i=3,s.p=4 s.p = p;//i=3,p为i的地址 s.p[1] = 3;//i=3,p=3 s.p[0] = 4;//这里段错误,因为s.p是常量3 return 0; }