1 #include <stdio.h>
2 
3 struct lame {
4 	int	x;
5 	int	y;
6 };
7 
8 struct bogus {
9 	void	*p;
10 } bogus1, bogus2,
11   *bp1, *bp2;
12 
13 int
main(void)14 main(void) {
15 	struct lame	ar[8];
16 	void		*p = ar;
17 	void		*p2 = ar+2;
18 	void		*res = NULL;
19 	int		i;
20 
21 	bp1 = &bogus1;
22 	bp2 = &bogus2;
23 	bp1->p = p;
24 	bp2->p = p2;
25 
26 	for (i = 0; i < 8; ++i) {
27 		if (i == 1) {
28 			continue;
29 		}
30 
31 		printf("=%d\n", &ar[i] != bp1->p);
32 		printf(" =%d\n", &ar[i] != bp2->p);
33 		if (&ar[i] != bp1->p
34 			&& &ar[i] != bp2->p) {
35 			res = &ar[i];
36 			break;
37 		}
38 	}
39 	if (res == NULL) {
40 		puts("terrible bug. very irritating.");
41 		return 666/*terror*/-69/*destruction*/-13/*horrors*/;
42 	} else {
43 		puts("all is good. more or less");
44 	}
45 	printf("result is %d(%d)\n", (char *)res - (char *)ar, i);
46 	return 0;
47 }
48 
49