| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
乐学 会学 多求 善思千里之行 始于足下
共有 160 人关注过本帖
标题:为什么这个程序输入一个数,回车后,只返回一条语句
只看楼主 加入收藏
H_M
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-2-7
结帖率:100%
  已结贴   问题点数:2  回复次数:6   
为什么这个程序输入一个数,回车后,只返回一条语句
//判断一个数是否为素数
#include<stdio.h>
#include<math.h>

int main()
{
    int a,i;

    printf("Please input a figure:");
    scanf("%d", &a);

    for (i = a - 1; i > sqrt(a); i--);
    {
        if (a % i == 0)
            printf("The figure isn't a prime number.\n");
        else
            printf("The figure is a prime number.\n");
    }
    return 0;
}
2019-02-07 22:30
qmsb2580
Rank: 2
等 级:论坛游民
帖 子:50
专家分:20
注 册:2018-10-20
  得分:2 
不是对的吗??你用了if...else,如果条件为真,就输出if后的语句,否则(else)就输出(printf)else后面的语句
2019-02-07 22:40
qmsb2580
Rank: 2
等 级:论坛游民
帖 子:50
专家分:20
注 册:2018-10-20
  得分:0 
不是对的吗??你用了if...else,如果条件为真,就输出if后的语句,否则(else)就输出(printf)else后面的语句
2019-02-07 22:40
H_M
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-2-7
  得分:0 
回复 3楼 qmsb2580
但是你for循环了多次,,理论上应该输出多个printf,,
2019-02-07 22:46
qmsb2580
Rank: 2
等 级:论坛游民
帖 子:50
专家分:20
注 册:2018-10-20
  得分:0 
回复 4楼 H_M
我知道了,因为你for后面多写了一个分号,
这样的话就像是for(条件)空;
就是不管for咋样,循环体都是空的;然后执行完空的语句后就到了后面的if...else
去掉分号后:



附件: 您没有浏览附件的权限,请 登录注册
2019-02-07 23:00
qmsb2580
Rank: 2
等 级:论坛游民
帖 子:50
专家分:20
注 册:2018-10-20
  得分:0 
回复 4楼 H_M
我知道了,因为你for后面多写了一个分号,
这样的话就像是for(条件)空;
就是不管for咋样,循环体都是空的;然后执行完空的语句后就到了后面的if...else
去掉分号后:



附件: 您没有浏览附件的权限,请 登录注册
2019-02-07 23:00
H_M
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-2-7
  得分:0 
回复 6楼 qmsb2580
好吧,我用的数字碰巧符合了预期,,其实程序本身就错了,,多谢了。
2019-02-07 23:14







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

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