| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 696 人关注过本帖
标题:多了个while为什么结果就不一样了呢?
只看楼主 加入收藏
exo1991
Rank: 2
等 级:论坛游民
帖 子:66
专家分:98
注 册:2011-8-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
多了个while为什么结果就不一样了呢?
程序代码:
#include <stdio.h>
#include <string.h>
int main()
{
    char c,m='y';
    int k=0;
    while((c=getchar())!='\0'&&m=='y')
    {
       
        if(c==' ')
        {
            if(k==0)
            {
                k=1;
                putchar(c);
            }
        }
        else
        {
            k=0;
            putchar(c);
        }
        printf("jieshu or not y/n.\n");
        m=getchar();
    }
    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
#include <stdio.h>
#include <string.h>
int main()
{
    char c;
    int k=0;
    while((c=getchar())!='\0')
    {
       
        if(c==' ')
        {
            if(k==0)
            {
                k=1;
                putchar(c);
            }
        }
        else
        {
            k=0;
            putchar(c);
        }
       
    }
    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册

为什么两个程序运行时结果不一样???
搜索更多相关主题的帖子: while 
2011-09-26 19:26
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:5 
你的判断条件变了

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2011-09-26 21:08
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:10 
#include <stdio.h>
#include <string.h>
int main()
{
    char c,m='y';
    int k=0;
    while((c=getchar())!='\0'&&m=='y')
    {
      
        if(c==' ')
        {
            if(k==0)
            {
                k=1;
                putchar(c);
            }
        }
        else
        {
            k=0;
            putchar(c);
        }
        printf("jieshu or not y/n.\n");
        m=getchar();这里会再次读取字符,赋值给m,如果读取的不是‘y’,循环结束,再则这个可能会读取到结束符,致使while(死循环)
    }
    return 0;
}

[ 本帖最后由 A13433758072 于 2011-9-26 22:59 编辑 ]

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-09-26 22:54
西邮张会业
Rank: 2
来 自:吉林省松原市
等 级:论坛游民
帖 子:18
专家分:37
注 册:2011-9-27
收藏
得分:5 
  楼主贴的第二个程序,都没有打印语句,怎么来的jieshu or not y/n语句,我表示很茫然,我是新手,不要拍砖。
2011-09-27 00:29
exo1991
Rank: 2
等 级:论坛游民
帖 子:66
专家分:98
注 册:2011-8-30
收藏
得分:0 
回复 4楼 西邮张会业
不好意思,两张图片贴反了。
2011-09-27 21:23
exo1991
Rank: 2
等 级:论坛游民
帖 子:66
专家分:98
注 册:2011-8-30
收藏
得分:0 
回复 3楼 A13433758072
读到结束符,应该终止循环才对,怎么会结束呢?
2011-09-27 22:01
快速回复:多了个while为什么结果就不一样了呢?
数据加载中...
 
   



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

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