1 2 struct tag { 3 int m1; 4 char *m2[5]; 5 } s1, *p1; 6 7 int i; 8 main()9main() 10 { 11 s1.m1 = -1; 12 p1 = &s1; 13 14 if ( func1( &p1->m1 ) == -1 ) 15 foo ("ok"); 16 else 17 abort (); 18 19 i = 3; 20 s1.m2[3]= "123"; 21 22 if ( strlen( (p1->m2[i])++ ) == 3 ) 23 foo ("ok"); 24 else 25 abort (); 26 27 exit (0); 28 } 29 func1(int * p)30func1(int *p) { return(*p); } 31 foo(char * s)32foo (char *s) {} 33