标题:printf中的表达式*(*(a+1)+j)该怎么翻译成中文步骤
取消只看楼主
ycyu1455
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2016-4-3
结帖率:33.33%
 问题点数:0 回复次数:0 
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?这理解好像错的很离谱
}
搜索更多相关主题的帖子: include 表达式 中文 元素 
2016-06-20 20:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-466173-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.319988 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved