printf中的表达式*(*(a+1)+j)该怎么翻译成中文步骤
很难理解里面的表达式 *(*(a+1)+j),表达式中的最里面的星号*和最外面的星号具体有什么作用 ,下面是我的理解求解呀,我知道我的理解肯定是错的,但是星号*在printf中的功能就是返回地址值指向内存中的存储值呀
#include<stdio.h>
main()
{
int a[3][5],i,j;
for(i=0;i<3;i++)
for(j=0;j<5;j++)
scanf("%d",*(a+i)+j);
printf("%5d",*(*(a+1)+j)); //这个表达式*(*(a+1)+j)这么翻译对不对,先运算a+1:进行第一行首地址值+1,结果是第二行首地址值;再运算*(a+1):返回第二行第一个元素存储的值,加入输入了1~15,这个值应该是6?,然后在运行+j:6+j?这理解好像错的很离谱
}