一个关于i++和++i的初级问题……

软件和网站开发以及相关技术探讨
头像
jiefey
帖子: 144
注册时间: 2009-07-24 0:14

一个关于i++和++i的初级问题……

#1

帖子 jiefey » 2009-07-31 18:42

#include<stdio.h>
int main()
{
int i=3,j,k;
j=i++;
k=++i;
printf("i=%d,j=%d,k=%d\n",i,j,k);
}

结果:i=5,j=3,k=5

我很奇怪,为什么不是 i=3,j=4,k=4呢?能具体的解释一下么?把计算过程描述出来……
j=i++ 那不就是 j=i+1么?为什么 I=5? :em20

代码: 全选

好东西>> http://yisnet.com/go/
soiamso
帖子: 418
注册时间: 2008-09-06 2:00

Re: 一个关于i++和++i的初级问题……

#2

帖子 soiamso » 2009-07-31 18:49

多看看谭浩强教授的书
头像
jiefey
帖子: 144
注册时间: 2009-07-24 0:14

Re: 一个关于i++和++i的初级问题……

#3

帖子 jiefey » 2009-07-31 19:00

soiamso 写了:多看看谭浩强教授的书
- -!我是看书的亚
书上说

i++现使用i,再把i的值加1
i-- 先使用i,再把i的值减1

++i 先把i的值加1,在使用i
--i先把i的值减1,再使用i

代码: 全选

好东西>> http://yisnet.com/go/
dbzhang800
帖子: 3182
注册时间: 2006-03-10 15:10
来自: xi'an China
联系:

Re: 一个关于i++和++i的初级问题……

#4

帖子 dbzhang800 » 2009-07-31 20:05

多看看谭浩强教授的书
个人非常不建议看谭浩强的书
i++现使用i,再把i的值加1
i-- 先使用i,再把i的值减1

++i 先把i的值加1,在使用i
--i先把i的值减1,再使用i
写错别字,是个态度问题 :em01
soiamso
帖子: 418
注册时间: 2008-09-06 2:00

Re: 一个关于i++和++i的初级问题……

#5

帖子 soiamso » 2009-07-31 20:10

jiefey 写了:
soiamso 写了:多看看谭浩强教授的书
- -!我是看书的亚
书上说

i++现使用i,再把i的值加1
i-- 先使用i,再把i的值减1

++i 先把i的值加1,在使用i
--i先把i的值减1,再使用i
书上的定义十分明确
头像
懒蜗牛Gentoo
论坛版主
帖子: 7353
注册时间: 2007-03-02 17:36
系统: Linux Mint

Re: 一个关于i++和++i的初级问题……

#6

帖子 懒蜗牛Gentoo » 2009-07-31 20:42

你自己说的不是很明白了么,i++先使用i,再加一啊。
j=i++
先使用i给j复制,也就是等于3,然后i自己再加1,也就等于4.
k=++i
i自己先加一,等于5,再使用i给k复制,也等于5
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
头像
jiefey
帖子: 144
注册时间: 2009-07-24 0:14

Re: 一个关于i++和++i的初级问题……

#7

帖子 jiefey » 2009-07-31 21:32

:em06 晕,看了6F的朋友解释……
我懂了,原来是得到4后继续加下去啊……我以为是从新从3开始算呢……

代码: 全选

好东西>> http://yisnet.com/go/
头像
x15988649286
帖子: 95
注册时间: 2008-08-23 12:17

Re: 一个关于i++和++i的初级问题……

#8

帖子 x15988649286 » 2009-07-31 21:35

jiefey 写了:#include<stdio.h>
int main()
{
int i=3,j,k;
j=i++;
k=++i;
printf("i=%d,j=%d,k=%d\n",i,j,k);
}

结果:i=5,j=3,k=5

我很奇怪,为什么不是 i=3,j=4,k=4呢?能具体的解释一下么?把计算过程描述出来……
j=i++ 那不就是 j=i+1么?为什么 I=5? :em20
首先:"j=i++",就是i加1但是输出的是3,则j=3,然后:"k=++i":i再加1,但是输出的5,则i=k=5 :em01
头像
wangks18
帖子: 1151
注册时间: 2008-10-27 22:28
来自: 暮色酒馆

Re: 一个关于i++和++i的初级问题……

#9

帖子 wangks18 » 2009-07-31 21:35

谭老头的书不错
优猫饼
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

Re: 一个关于i++和++i的初级问题……

#10

帖子 cnkilior » 2009-07-31 21:48

刻意去区分/使用i++,++i是属于没事找抽型!
头像
ChloeRei
帖子: 1021
注册时间: 2007-11-23 9:49

Re: 一个关于i++和++i的初级问题……

#11

帖子 ChloeRei » 2009-07-31 22:49

:em04
难得有个扰脑的东西就被专家抓住用来做考题了

编程应该解决实际任务阿
头像
jiefey
帖子: 144
注册时间: 2009-07-24 0:14

Re: 一个关于i++和++i的初级问题……

#12

帖子 jiefey » 2009-07-31 23:56

:em06 不是啊各位大哥!
我是学习C语言的新手,一直没搞懂这个问题!所以就上来问问大家了!
今天谢谢你们阿~

代码: 全选

好东西>> http://yisnet.com/go/
头像
ChloeRei
帖子: 1021
注册时间: 2007-11-23 9:49

Re: 一个关于i++和++i的初级问题……

#13

帖子 ChloeRei » 2009-08-01 12:49

不知别人怎么样(没看多少代码)
我自己写的时候类似
i++
我都是单独写一行的
:em11
头像
ttand
帖子: 1745
注册时间: 2005-08-22 14:05
来自: 离开北京

Re: 一个关于i++和++i的初级问题……

#14

帖子 ttand » 2009-08-01 13:16

int i=1;
i=i++;
然后i等于几???
错过好多好贴,没占到广告位后悔啊
tianyuan008
帖子: 54
注册时间: 2008-10-05 22:59

Re: 一个关于i++和++i的初级问题……

#15

帖子 tianyuan008 » 2009-08-01 14:12

这个问题是没有答案的
回复