码迷,mamicode.com
首页 > 编程语言 > 详细

“指针数组的陷阱题”

时间:2015-10-31 18:39:18      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:a[][] *p

猜猜输出的结果:

#include <stdio.h>
int main(int argc, char * argv[])
{
	int a[3][2] = { (0, 1 ), (2, 3 ), (4, 5 )};
	int *p;
	p = a[0];
	printf("%d", p[0]);
	system("pause");
	return 0;
}

正确答案是:1

其实这是一道逗号表达式陷阱题,大家可能被数组指针蒙蔽了,看见这个指针指向二维数组,就开始把焦点放在这儿,却忽视了逗号表达式,这也是对二维数组赋值掌握不太熟悉所致,一般表示为

int a[3][2] = { { 0, 1 }, { 2, 3 }, { 4, 5 }};


本文出自 “sunshine225” 博客,请务必保留此出处http://10707460.blog.51cto.com/10697460/1708366

“指针数组的陷阱题”

标签:a[][] *p

原文地址:http://10707460.blog.51cto.com/10697460/1708366

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!