1 2 3 4 5 | int a[5] = {1, 2, 3, 4, 5}; int *ptr = (int *)(&a + 1); printf("%d, %d", *(a + 1), *(ptr + 1)); |
1 2 3 4 5 6 | int array[5] = {1, 2, 3, 4, 5}; int *p = &array[0]; int max = Max(*p++, 1); printf("%d %d", max, *p); |
程梦谷 发表于 2016-5-11 18:30
第一题;
请写出以下代码输出
yaomars 发表于 2016-5-11 23:17
第一题:
分析:ptr是指向int *类型的指针,(int *)(&a + 1) 表示(&a + 1)强制转换成int *类型的指针 ...
yaomars 发表于 2016-5-11 23:17
第一题:
分析:ptr是指向int *类型的指针,(int *)(&a + 1) 表示(&a + 1)强制转换成int *类型的指针 ...
yaomars 发表于 2016-5-11 23:17
第一题:
分析:ptr是指向int *类型的指针,(int *)(&a + 1) 表示(&a + 1)强制转换成int *类型的指针 ...
yaomars 发表于 2016-5-11 23:17
第一题:
分析:ptr是指向int *类型的指针,(int *)(&a + 1) 表示(&a + 1)强制转换成int *类型的指针 ...
SuperJJ 发表于 2016-5-12 12:29
第一题的答案是,2,3
ming1028 发表于 2016-5-12 13:55
指针这么重要
yaomars 发表于 2016-5-11 23:17
第一题:
分析:ptr是指向int *类型的指针,(int *)(&a + 1) 表示(&a + 1)强制转换成int *类型的指针 ...
程梦谷 发表于 2016-5-15 21:20
这道题也可以这样改:
int array[5] = {1, 2, 3, 4, 5};
int *ptr =(int *)(&a+1)
yaomars 发表于 2016-5-16 22:18
这样的话,结果就是: 2 和 5
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |