鱼C论坛

 找回密码
 立即注册
查看: 3635|回复: 11

关于i-- , --i的问题

[复制链接]
发表于 2011-4-29 21:14:54 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 小霜 于 2011-4-30 00:02 编辑

有个问题不太理解,请帮忙解答下~就稍微举个例子蛤..

int n;

printf("Input n: ");

n = 10;

while (--n)
{
      printf("%d", n);
}

为什么 --n ,结果为9 8 7 6 5 4 3 2 1
然后n-- 的结果为 9 8 7 6 5 4 3 2 1 0

为什么 --n 没有显示0 而 n-- 显示0 呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-29 21:30:13 | 显示全部楼层
while(--n)是先n进行自减运算,然后while(n);而while(n--)是先while(n),然后n再进行自减。

点评

这我知道啊,不过两个开始从9 开始的 ,只是到了--n 到了1 后就没了啊,而n-- 1后有0.  发表于 2011-4-29 22:13
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-29 21:30:22 | 显示全部楼层
假设n = 1先,
while (--n)       //while(0)  n先自减  相当于n = n-1
{
      printf("%d", n);
}

while (n--)     //while(1)  n先使用,使用后才自减。
{
      printf("%d", n);  //这个时候n已经自减,n = 0
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-4-29 22:27:11 | 显示全部楼层

假设 n=1

while(--n) // n 先自减 , n = n -1  <<那不就也是 n = 0 了吗?
你的解释好矛盾:L
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-29 22:34:09 | 显示全部楼层
while(--n) // n 先自减 , n = n -1  <<那不就也是 n = 0 了吗?

是啊,
while (--n)       //while(0)  
这个时候循环条件值为0,即为假,退出循环,所以不输出n = 0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-4-29 22:45:35 | 显示全部楼层
回复 nbceshi 的帖子

那为什么,n-- 又能输出0 ??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-29 23:22:05 | 显示全部楼层
while (--n)       //while(0)  n先自减  相当于n = n-1
{
      printf("%d", n);   //因为while(0)所以退出循环,不执行这一句命令,所以不输出0
}

while (n--)     //while(1)  n先使用,使用后才自减。因为while(1)所以条件成立,执行循环内容
{
      printf("%d", n);  //这个时候n已经自减,n = 0,所以输出0
}
希望帮你解惑。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-4-29 23:34:26 | 显示全部楼层
明白了,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-30 08:16:51 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-4-30 19:42:30 | 显示全部楼层
回复 soldier 的帖子

这我看过了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-5-2 08:24:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-7 09:26:32 | 显示全部楼层
--n 是先减再赋值
n--是先赋值在减
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-19 10:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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