| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1346 人关注过本帖
标题:虽是小程序,但很能锻炼人
只看楼主 加入收藏
壮志在我胸
Rank: 3Rank: 3
来 自:邯郸
等 级:论坛游侠
威 望:1
帖 子:158
专家分:125
注 册:2009-9-7
结帖率:75%
收藏
 问题点数:0 回复次数:11 
虽是小程序,但很能锻炼人
#include"stdio.h"

void main()
{
    int flag=1;
    char c,*p,a[100];
    p=a;
    while(flag==1)
    {
        printf("请输入N个整数");
        gets(p);
        puts(p);
        puts("Do you want to continue ?N/Y\n");
        c=getchar();
        if(c=='n'||c=='N') flag=0;
        else
            printf("please continue");
    }
        
}
这个小程序的的目的是如果输入N,就结束程序(这个可以做到),如果输入Y,想执行“please continue,请输入N个整数”然后可以继续输入数据,可结果执行却是“please continue,请输入N个整数,Do you want to continue ?N/Y”全出来啦!
搜索更多相关主题的帖子: 锻炼 
2009-09-24 17:47
壮志在我胸
Rank: 3Rank: 3
来 自:邯郸
等 级:论坛游侠
威 望:1
帖 子:158
专家分:125
注 册:2009-9-7
收藏
得分:0 
没人会吗?????会的就大方点吗,传授传授,我会感激不尽,不会的加我好友,共同探讨探讨!!!
2009-09-24 21:25
shl305
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:36
专家分:121
注 册:2009-3-13
收藏
得分:0 
c=getchar();
只读了一个字符,当你输入Y时后面还跟着一个回车符号,因此Y读给了c但是回车还在输入中,故下一次
调用gets()时直接读到了回车,也就是结束符号,因此这时p已经读到东西了,只不过内容是空的,什么也没有,但
只要读到了,就不会再等待你的输入了。
在 c=getchar();后面在加一条getchar()语句,将回车符读走就可以了
2009-09-24 21:55
壮志在我胸
Rank: 3Rank: 3
来 自:邯郸
等 级:论坛游侠
威 望:1
帖 子:158
专家分:125
注 册:2009-9-7
收藏
得分:0 
太感谢了!!!能加你好友吗?以后有问题共同探讨,哈哈
2009-09-24 22:25
智奇CC
Rank: 2
来 自:GD
等 级:论坛游民
帖 子:34
专家分:73
注 册:2009-9-8
收藏
得分:0 
貌似这是C语言吧的程序?这里不是C++教室吗??搞得我学C++的搞混了,,,

书山有路勤为劲,
学海无涯苦作舟。
2009-09-25 14:28
pywepe
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:296
专家分:483
注 册:2009-4-5
收藏
得分:0 
回复 楼主 壮志在我胸
*p
很危险
长度好像是8

java群
62635216
欢迎加入
2009-09-25 17:18
newCpp
Rank: 5Rank: 5
来 自:火星
等 级:职业侠客
威 望:3
帖 子:256
专家分:375
注 册:2009-8-17
收藏
得分:0 
用while循环应该可以的吧

编程语言视频教程在线播放学习
2009-09-27 05:17
小兰01
Rank: 2
等 级:论坛游民
帖 子:24
专家分:33
注 册:2009-9-9
收藏
得分:0 
把else printf()那句去掉,用goto 语句,
 
#include"stdio.h"
 
void main()
{
    int flag=1;
    char c,*p,a[100];
    p=a;
    a:  while(flag==1)
    {
        printf("请输入N个整数");
        gets(p);
        puts(p);
        puts("Do you want to continue ?N/Y\n");
        c=getchar();
        if(c=='n'||c=='N') flag=0;
        goto: a    }
         
}
或者
#include"stdio.h"
 
void main()
{
    int flag=1;
    char c,*p,a[100];
    p=a;
    while(flag==1)
    {
        printf("请输入N个整数");
        gets(p);
        puts(p);
        puts("Do you want to continue ?N/Y\n");
        c=getchar();
        if(c=='n'||c=='N') flag=0;
         continue;//break;
    }
         
}

2009-09-29 11:20
jolixiaoai
Rank: 2
等 级:论坛游民
帖 子:111
专家分:87
注 册:2009-5-13
收藏
得分:0 
5楼的说对了,这确实是C的程序……貌似楼主不止一次走错教室了……
2009-10-02 14:53
壮志在我胸
Rank: 3Rank: 3
来 自:邯郸
等 级:论坛游侠
威 望:1
帖 子:158
专家分:125
注 册:2009-9-7
收藏
得分:0 
回复 9楼 jolixiaoai
谢谢你的提醒,要不然我还不知道呢
2009-10-10 12:50
快速回复:虽是小程序,但很能锻炼人
数据加载中...
 
   



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

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