| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 525 人关注过本帖
标题:我是菜鸟,求赐教
只看楼主 加入收藏
Jz2081
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-11-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
我是菜鸟,求赐教
#include<stdio.h>
main()
{
int n=0;
while (n++<10)
{printf("%5d",n);}
 printf("\n");
  return 0;
  
}

为什么输出会是1 2 3 4 5 6 7 8 9 10 啊?  到10的时候不是不再满足循环条件了么?
2013-11-23 14:03
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:5 
你想一下,第一个为什么是1,而不是0.
就知道最后一个为什么是10,而不是9了。
2013-11-23 15:25
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:5 
因为 n++ 是先运算再自加的(书没看仔细?)
比如 n=0  先运算:0<10   然后再+1  ,n=1  输出1
..........
n=9   9<10    +1, n=10   输出10
10<10   结束循环

三十年河东,三十年河西,莫欺少年穷!
2013-11-23 16:15
andrewkewang
Rank: 2
等 级:论坛游民
帖 子:44
专家分:42
注 册:2013-11-22
收藏
得分:5 
while循环的括号里有两个操作,
第一步,比较,n<10?
第二步,赋值,n=n+1
2013-11-23 16:16
heroinearth
Rank: 10Rank: 10Rank: 10
来 自:云南曲靖
等 级:青峰侠
帖 子:430
专家分:1506
注 册:2011-10-24
收藏
得分:5 
这就是n++与++n的差别,n++先比较然后自加1,
2013-11-23 16:16
Jz2081
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-11-23
收藏
得分:0 
感谢各位,弄明白了
2013-11-24 00:31
Jz2081
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-11-23
收藏
得分:0 
回复 3楼 韶志
确实没看仔细··谢谢哈!顺带一提,你的头像非常赞
2013-11-24 00:34
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
回复 7楼 Jz2081
写程序要细心  以后多注意
头像问题   我很崇拜《死亡笔记》中的 L

三十年河东,三十年河西,莫欺少年穷!
2013-11-24 00:39
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:0 

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-11-24 10:04
wht750109
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:49
专家分:151
注 册:2013-10-21
收藏
得分:0 
int n=0;
while (n++<10)
{printf("%5d",n);}
先执行n=0,然后执行WHILE语句,n<10,判定完后n++,n变成1,打印时n等于1.同理,到n==9时,符合条件,但打印时n等于10;
2013-11-25 19:45
快速回复:我是菜鸟,求赐教
数据加载中...
 
   



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

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