首页 > 编程语言 > 详细

“指针数组的陷阱题”

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

猜猜输出的结果:

#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

“指针数组的陷阱题”

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!