为什么我这个程序结果不对

AAdai 2006-12-18 11:30:08
把1 0改成'1' '0'就对了
/*求100之内的素数 */
#include <stdio.h>
#include <math.h>
#include <string.h>
#define N 100
/*筛选*/

main()
{
int upper;
char a[N];

memset(a,1,N);
a[0] = a[1] = 0;
/*判断*/
upper = (int)sqrt(N+1);
for(int i=2; i<=upper; i++)/*检验数*/
{
if(a[i] == (char)1)
{
for(int j=i+i; j<=N; j+=i)
{
a[j]=(char)0;
}
}
}
/*打印*/
for(i=2; i<=N; i++)
if(a[i] == (char)1)
printf("%8d",i);

}
...全文
241 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lockhall 2007-02-07
  • 打赏
  • 举报
回复
memset()是按字节赋值的.

所以要memset(a,'1',N);
凌殿Y_ST 2006-12-20
  • 打赏
  • 举报
回复
char a[N];
这是你的定义,而0是int型,你定义成int a[N]; 就没那么乱了...
wellsnow2002 2006-12-20
  • 打赏
  • 举报
回复
乱七八糟的.
OpenHero 2006-12-20
  • 打赏
  • 举报
回复
(char)1,(char)0转换过后不是'1','0'
AAdai 2006-12-20
  • 打赏
  • 举报
回复
up
KthTes 2006-12-20
  • 打赏
  • 举报
回复
把1 0改成'1' '0'就对了

不懂
cy2005abc 2006-12-20
  • 打赏
  • 举报
回复
memset(a,'1',N);
AAdai 2006-12-20
  • 打赏
  • 举报
回复
我的意思是为什么
a[i] = 0
用空字符为什么出错呀
微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小程序系统教程[阶段]全套课程”包含: 1.微信小程序系统教程[阶段]_客服消息 2.微信小程序系统教程[阶段]_微信支付 3.微信小程序系统教程[阶段]_九宝电商系统 学习“微信小程序系统教程[阶段]”要求有微信小程序的基础。建议先学习“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]”,后在报名“微信小程序系统教程[阶段]”。 阶段讲解的客服消息,是针对小程序的。后台程序用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,这部分课程很有难度,要求同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关知识,还可以修改后上线。 “微信小程序系统教程[中级阶段]——核心技术”重点讲解微信小程序事件、组件、API 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 购买课程的同学,可赠送就九宝老师编写的《微信小程序开发宝典》。 购课请咨询qq2326321088

69,337

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧