C语言关于i++的问题,是在下次循环i加1,还是说遇到i时加1?

如(i++)*(i++)一开始i=1,那前一个i为1,后面的i为2,下次循环前面的i为3,后面的i为4.......但这个for(j=0;j<4;j++)printf("... 如(i++)*(i++)一开始i=1,那前一个i为1,后面的i为2,下次循环前面的i为3,后面的i为4.......

但这个
for(j=0;j<4;j++) printf("%2d ",*(*(p+i)+j))
j开始为0,那后面那个不是该是1了么?那输出来的就是第二列了,漏掉了第一列啊。
学C语言没多久,对这个模模糊糊的
请大神赐教,,最好详细一点。。
我已经弄明白了,虽然你们回答的都跟我不明白的没有大关系,但还是谢谢你们的热心了。。。
展开
 我来答
军师明眸
2014-07-23
知道答主
回答量:4
采纳率:0%
帮助的人:2.6万
展开全部
首先第一点, i++ 和 ++i 用法是不一样的;对于 i++ 先使用i的值,然后i再加一,而对于++i 是先让i的值加一再用i的值。i-- 和 --i 也是同样的道理,C语言书上有明确的讲解,主要看一下书上给的例子。
其次,对于
for(j=0;j<4;j++)
{ printf("%2d ",*(*(p+i)+j)); } 是一个for循环,它执行的顺序如下:
首先j的初始值是0,然后执行j<4,0<4成立,所以执行下面的printf函数,最后是执行j++(j的值加一变为二)。 接下来就是循环上面的步骤,一直到的值等于4为止停止循环。

要多看书,尤其是基础,必须精读。希望可以帮助你。
hi漫海feabd5e
2015-10-07 · 知道合伙人教育行家
hi漫海feabd5e
知道合伙人教育行家
采纳数:6749 获赞数:129937
本科学历,毕业后从事设计工作;现任标码石材科技有限公司设计员。能决绝结构设计方面中等难度问题。

向TA提问 私信TA
展开全部
  i++的意思是将变量i中的数值参加运算后,i中的数值自动加一。
  “++”符号是编程语言中的自增运算符,作用是在运行后将变量的数值自动加一,“++”符号所处的位置不同,运算规则也不同,当“++”放在变量前方时,如 ++i,此时的作用是先将i变量中的数值进行加一运算,然后再将运算后的数值加入运算,而i++是先将i中的数值加入运算,然后再自加一。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
2014-07-23 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6344万
展开全部
一、(i++)*(i++) 这种代码,至今我也没有在应用中见谁写过,所以没有必须分析这个!
二、
for(j=0;j<4;j++) //这是一个for循环语句,括号中是三个步骤,
for( 初始化数据,只做一次; 循环条件,每次循环前先进行检查,不成立,则结束循环; 循环变量变化 ,每次执行完循环体中的操作,就跳到这里,进行循环变量改变 ) //三个步骤间以分号分隔
printf("%2d ",*(*(p+i)+j)) ; //循环第一次时,j=0 第二次时,j=1 。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fastfs
2014-07-23 · TA获得超过1423个赞
知道大有可为答主
回答量:2659
采纳率:62%
帮助的人:792万
展开全部
for语句是先执行 j = 0;j<4然后每次执行j<4;j++,第一次不执行j++.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式