标题:问题多多,不理解
只看楼主
水里无氧气
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2005-3-26
 问题点数:0 回复次数:4 
问题多多,不理解
void main()
{
 int i=0;
    while (i++<=1)
         printf("%d\t",i);
printf("%d\n",i);
}

为什么输出的结果会是  1    2      3。我要求的只是输出二个结果啊?
搜索更多相关主题的帖子: printf void main 结果 输出 
2005-05-27 16:42
tary
Rank: 1
等 级:新手上路
帖 子:780
专家分:0
注 册:2004-10-5
得分:0 
你那个while (i++<=1)
控制printf("%d\t",i);当这个循环结束时输出1   2
这时i 为3 再输出3了

┌→¨ ≮我可以学会对你很冷落≯¨←┐ │  <却学不╓══╦══╖会将爱> │ │¨←┐ ╭╩╮哭‖哭╭╩╮ ┌→¨│ └──┘收 ╲╱ ◇‖◇ ╲╱回└──┘
2005-05-27 18:04
ChenMo
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:481
专家分:10
注 册:2004-4-8
得分:0 
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编辑过]


欢迎加入 MVC 技术讨论群(新群:90093426)
2005-05-28 00:09
musicml
Rank: 1
等 级:新手上路
帖 子:273
专家分:0
注 册:2005-4-2
得分:0 

#include <stdio.h>

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


Every thing is possible.
2005-05-28 01:01
水里无氧气
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2005-3-26
得分:0 
谢了,以后还请多多指教

一个不太会学习的人 还要为了将来不得不学习的人 一个头脑很笨的人 还要请个位多帮忙的人 一个要大家多多支持的人
2005-05-28 11:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-19478-1-1.html




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

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