- 论坛徽章:
- 0
|
今天一直在看C,遇到些问题,中午才问过了,这不,又不会了
在看一本电子书,里面有这么一句话,不是很理解,主要是不明白这个逗号运算符怎么传给二维数组的~~~把1,3,5传给它了,那么0,2,4呢~?这个部分没有掌握好,求老师们赐教
-----------------------------------------------------------------------------------------------
#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]);
}
问打印出来的结果是多少?
很多人都觉得这太简单了,很快就能把答案告诉我:0。不过很可惜,错了。答案应该是1。如果你也认为是0,那你实在应该好好看看这个题。花括号里面嵌套的是小括号,而不是花括号!这里是花括号里面嵌套了逗号表达式!其实这个赋值就相当于int a [3][2]={ 1, 3,5};
所以,在初始化二维数组的时候一定要注意,别不小心把应该用的花括号写成小括号了。 |
|