| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 518 人关注过本帖
标题:初学c语言,程序运行起来有点问题,求指点
取消只看楼主 加入收藏
shadow丶
Rank: 1
等 级:新手上路
帖 子:10
专家分:9
注 册:2013-3-2
结帖率:0
收藏
 问题点数:0 回复次数:3 
初学c语言,程序运行起来有点问题,求指点
语言不知道哪里没有弄好,执行出来的程序他不会运行这一步、、
  c=getchar();

    }while('Y' || 'y');



程序源码:

# include <stdio.h>
# include <math.h>

int main()
{
    int x, y;
    char c;
    do
    {
        printf("请输入小于1000的正数:");
        scanf("%d", &x);
        
        if (x<1000)
        {
            y = sqrt(x);
            printf("%d\n", y);
        }
        else
            printf("输入错误,请重新输入:\n");
            
        printf("若要继续请输入Y,否则按任意键退出:");

        c=getchar();

    }while('Y' || 'y');


    return 0;
}

搜索更多相关主题的帖子: include 
2013-03-30 22:26
shadow丶
Rank: 1
等 级:新手上路
帖 子:10
专家分:9
注 册:2013-3-2
收藏
得分:0 
回复 2楼 helloUJS
虽然可以二次输出数据了、可是运行后当你输入除y的其他字符时,程序不会退出这是为什么?

运行结果:
请输入小于1000的正数:9
3
若要继续请输入Y,否则按任意键退出:r
请输入小于1000的正数:8
2
若要继续请输入Y,否则按任意键退出:
2013-03-31 10:02
shadow丶
Rank: 1
等 级:新手上路
帖 子:10
专家分:9
注 册:2013-3-2
收藏
得分:0 
回复 6楼 zyw61483
退出代码?
# include <stdio.h>
# include <math.h>

int main()
{
    int x, y;
    char c;
    do
    {
        printf("请输入小于1000的正数:");
        scanf("%d", &x);
        
        if (x<1000)
        {
            y = sqrt(x);
            printf("%d\n", y);
        }
        else
            printf("输入错误,请重新输入:\n");
            
        printf("若要继续请输入Y,否则按任意键退出:");

        fflush(stdin);/*清除输入缓冲区,否则c读到的是换行符*/

        c=getchar();/*也可以在这里在加一条c=getchar();加上这一条就不需要使用fflush(stdin);了*/



    }while(c=='Y' || c=='y');


    return 0;
}

改下、谢谢
2013-03-31 12:55
shadow丶
Rank: 1
等 级:新手上路
帖 子:10
专家分:9
注 册:2013-3-2
收藏
得分:0 
回复 2楼 helloUJS
谢了、 我懂了
2013-03-31 13:27
快速回复:初学c语言,程序运行起来有点问题,求指点
数据加载中...
 
   



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

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