学习在于坚持和积累,让我们一起加油,每天进步一点点🥰🥰🥰
题目
#include <stdio.h>
int main()
{
int a[3][2] = { (0, 1), (2, 3), (4, 5) };
int *p;
p = a[0];
printf( "%d", p[0]);
return 0;
}
一起来看看这道题目吧~看看你是否有解题思路呢?
解题步骤
这道题目呢是我们对于指针的一个考察,具体的思路如下:
·首先这里给我们一个二维数组,里面存放内容,不难看出这里有运用到逗号表达式的内容;
·指针里面存放我们这个数组的内容,来看指针指向的第一个元素是什么。
画出图有利于我们理解题目,这道题目我们可以画出的数组如下图所示:
逗号表达式的运用,所以这个数组存在内存中如图所示。
*p存的是数组a首字符的地址,然后读出p的首元素就很容易得出来是1了。
总结
这道题目很简单,主要是涉及到逗号表达式的内容需要我们回顾一下。
逗号表达式:
(表达式1,表达式2,...,表达式n)
逗号表达式的要领:
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。
(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
(3) 逗号运算符的优先级别在所有运算符中最低。