| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3857 人关注过本帖
标题:我写的scanf为什么要输入两次?
取消只看楼主 加入收藏
chinagdvea
Rank: 2
等 级:论坛游民
帖 子:38
专家分:10
注 册:2009-11-5
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:2 
我写的scanf为什么要输入两次?
代码如下 是一个检查质数的代码

#include<stdio.h>

int main(void)
{
    int num,i;
    bool isprime=true;
    printf("input a number,enter q to quit.\n");
    while(scanf("%d",&num)==1)
    {
        if(num==1)
            printf("1 is not a prime and also not a composite.\n");
        else
        {
            for(i=2;i*i<=num;i++)
            {
                if(num%i==0)
                {
                    if(i!=num/i)
                        printf("%d is devisible by %d and %d.\n",num,i,num/i);
                    else printf("%d is devisible by %d\n",num,i);
                    isprime=false;
                }
            }
            if(isprime)
                printf("%d is a prime\n.",num);
            printf("now input another number\n");
            scanf("%d",&num);
        }
    }
    printf("Bye\n");
    return 0;
}


第一次输入一次即可,但后面就要输入两次才有响应

   

 

[ 本帖最后由 chinagdvea 于 2009-11-5 10:56 编辑 ]
搜索更多相关主题的帖子: 输入 scanf 
2009-11-05 10:54
chinagdvea
Rank: 2
等 级:论坛游民
帖 子:38
专家分:10
注 册:2009-11-5
收藏
得分:0 
回复 2楼 pgy
哦,对哦,悲剧。。。

It's not a joke
2009-11-05 10:56
chinagdvea
Rank: 2
等 级:论坛游民
帖 子:38
专家分:10
注 册:2009-11-5
收藏
得分:0 
回复 3楼 chinagdvea
用来判断 输入成功的项目个数
  scanf有返回值的,比如成功输入一个整型,返回1 ,成功输入两个,则返回2

It's not a joke
2009-11-05 11:30
快速回复:我写的scanf为什么要输入两次?
数据加载中...
 
   



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

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