| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1300 人关注过本帖
标题:这个输出质数的函数为什么不对呢。。。
只看楼主 加入收藏
Gerrard8
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-5-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
这个输出质数的函数为什么不对呢。。。
#include <stdio.h>
#include <stdlib.h>

int fun(int c)
{
  int b,i=2;

  scanf("%d",&b);
  for(c=0,c<=b;c++;){
  for(i<c;i++;)
{
    if(c%i==0)
  {
      return 0;

  }else{return c;}

}

}
}
int main()
{int n;

printf("请输入一个整数:");
if(fun(n)){ printf("%d\n",fun(n));}


return 0;
}
一直报错。。。
搜索更多相关主题的帖子: include 
2017-05-08 11:06
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:4 
虽然感觉逻辑会有些问题~但感觉无轮输入什么数结果都会返回1~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-08 11:24
Gerrard8
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-5-8
收藏
得分:0 
回复 2楼 九转星河
那怎么才能改正呢
。。。。
2017-05-08 11:51
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 3楼 Gerrard8
重做~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-08 12:57
独恋夕颜
Rank: 2
等 级:论坛游民
帖 子:4
专家分:11
注 册:2017-5-7
收藏
得分:4 
图片附件: 游客没有浏览图片的权限,请 登录注册


  我自己用dev5.11编译没发现有错误的告警?
2017-05-08 13:18
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:4 
回复 5楼 独恋夕颜
真NB的Dev C++,简直是新手福音,直接不发出警告信息。

ceshi4.c: In function 'fun':
ceshi4.c:9:10: warning: right-hand operand of comma expression has no effect [-Wunused-value]
   for(c=0,c<=b;c++;){
          ^
ceshi4.c:10:3: warning: statement with no effect [-Wunused-value]
   for(i<c;i++;)
   ^
ceshi4.c:21:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
ceshi4.c: In function 'main':
ceshi4.c:26:4: warning: 'n' is used uninitialized in this function [-Wuninitialized]
 if(fun(n)){ printf("%d\n",fun(n));}

[此贴子已经被作者于2017-5-8 15:56编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-08 15:52
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:4 
for(i<c;i++;)你的c初始值呢?
2017-05-11 13:45
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10611
专家分:43210
注 册:2014-5-20
收藏
得分:4 
以下是引用Gerrard8在2017-5-8 11:06:35的发言:

#include <stdio.h>
#include <stdlib.h>

int fun(int c)
{
  int b,i=2;

  scanf("%d",&b);
  for(c=0,c<=b;c++;){    //这里又将函数入口参数初始化为0有什么意义?
  for(i<c;i++;)   //这里看似是判断c是否为素数,应 for(i=2; i<c; i++)
{
    if(c%i==0)
  {
      return 0;  //如果是求 0--b的所有素数,为何未完结就中止?

  }else{return c;}
}

}
}
int main()
{int n;

printf("请输入一个整数:");
if(fun(n)){ printf("%d\n",fun(n));}  //这里n的值是什么?


return 0;
}
一直报错。。。

我这编译和运行都没报错,C还真够神气。
2017-05-11 16:12
快速回复:这个输出质数的函数为什么不对呢。。。
数据加载中...
 
   



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

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