| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 344 人关注过本帖
标题:问题多多,不理解
收藏  订阅  推荐  打印 
水里无氧气
Rank: 1
等级:新手上路
帖子:24
积分:340
注册:2005-3-26
问题多多,不理解

void main()
{
int i=0;
    while (i++<=1)
         printf("%d\t",i);
printf("%d\n",i);
}

为什么输出的结果会是  1    2      3。我要求的只是输出二个结果啊?
搜索更多相关主题的帖子: printf  void  main  结果  输出  
2005-5-27 16:42
tary
Rank: 4
等级:高级会员
帖子:781
积分:8060
注册:2004-10-5

你那个while (i++<=1)
控制printf("%d\t",i);当这个循环结束时输出1   2
这时i 为3 再输出3了

┌→¨ ≮我可以学会对你很冷落≯¨←┐ │  <却学不╓══╦══╖会将爱> │ │¨←┐ ╭╩╮哭‖哭╭╩╮ ┌→¨│ └──┘收 ╲╱ ◇‖◇ ╲╱回└──┘
2005-5-27 18:04
ChenMo
Rank: 12Rank: 12Rank: 12
等级:版主
威望:3
帖子:478
积分:5112
注册:2004-4-8

void main() { int i=0; while ((i++) <=1) /* 红色部分在进行第一次判断的时候,i 的值使用 0 进行比较,成立(True), 然后随即加1,所以到了执行的 printf 函数的时候,i 输出 1;第一次打印完毕后,i 使用 1 进行比较,成立(True),然后随即加1,i 便是 2;第三次使用 2 进行比较,不成立(False),使 i 加1后(此时 i 为 3),退出循环 */ printf("%d\t",i); printf("%d\n",i); }

[此贴子已经被作者于2005-5-28 0:10:16编辑过]


fsEditor 1.0.4(beta) by ChenMo,欢迎下载测试。
http://www.bccn.net/Soft/kfyy/c/200805/3298.html
2005-5-28 00:09
musicml
Rank: 3Rank: 3
等级:中级会员
帖子:273
积分:2830
注册:2005-4-2

#include <stdio.h>

void main() { int i=0; while (++i<=1) printf("%d\t",i); printf("%d\n",i); }


Every thing is possible.
2005-5-28 01:01
水里无氧气
Rank: 1
等级:新手上路
帖子:24
积分:340
注册:2005-3-26

谢了,以后还请多多指教

一个不太会学习的人 还要为了将来不得不学习的人 一个头脑很笨的人 还要请个位多帮忙的人 一个要大家多多支持的人
2005-5-28 11:08
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.064113 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved