鱼C论坛

 找回密码
 立即注册
查看: 2458|回复: 5

c语言小白请教 i++ 问题,求指点!

[复制链接]
发表于 2014-7-31 18:35:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 水鱼 于 2014-7-31 18:37 编辑

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



结果是 i=9, j=11 ,m=9, n=10 ,

为什么 i=9 搞不明白?请大虾指点下。谢谢!

b.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-31 19:06:28 | 显示全部楼层
我晕。。。。i++和++i都是实现自增操作啊。。结果都一样是i=i+1;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-31 19:09:42 | 显示全部楼层
i++ :后置自加运算符,表示先输出i的值在屏幕上,然后再把i加上1。
++i:前置自加运算符,表示先把i的值加上1,然后再把i的值输出到屏幕上。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-31 19:40:58 | 显示全部楼层
前置就是先增加或者减少在使用
后置就是先使用然后再增加或者减少
这个小甲鱼有讲的。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-31 20:03:38 | 显示全部楼层
开始i=8 后来运行i++后i就是9了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-31 22:07:01 | 显示全部楼层
i=8;  j=10;
m=++i;  n=j++;
printf("%d, %d, %d, %d\n" , i, j ,m ,n);

结果是 i=9, j=11 ,m=9, n=10 ,
原因如下:
当程式运行printf("%d, %d, %d, %d\n" , i, j ,m ,n);时,以下变量已作以下运算,所以会打印上述结果
i 自加1即8+1=9
j 自加1即10+1=11
m 是等于自加后的 i ,(++i 此式先被运算)
n 是等于自加前的 j
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-29 09:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表