| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 541 人关注过本帖
标题:一段奇怪的程序
取消只看楼主 加入收藏
lmjv222
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-1-28
收藏
 问题点数:0 回复次数:3 
一段奇怪的程序
很奇怪,编译不报错,显示出来的值也是真确的,但是就是运行完毕以后会出错,这个是什么原因?望高手指教~


#include<stdio.h>
void main()
{
int n[20],num=0,a=0;
for(int i=1;i<=1000;i++)
{
for(int j=1;j<=i/2;j++)
{
if(i==1)
continue;
if(i%j==0)
{
n[a]=j;
a++;
num+=j;
}
}
if(i==num)
{
printf("完数=%d\n",i);
printf("其因子为:");
for(int k=0;k<a;k++)
{
printf("%d ",n[k]);
}
printf("\n");
}
num=0;
a=0;
}
}

[此贴子已经被作者于2007-2-1 19:18:09编辑过]

搜索更多相关主题的帖子: include 
2007-02-01 19:17
lmjv222
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-1-28
收藏
得分:0 
以下是引用卧龙孔明在2007-2-1 19:21:48的发言:
在Win-TC 1.91下编译报错

for(int ........
中int 应去掉

而且其中j等变量也未定义

哦,我用的是vc编译器,不报错的
改过了,问题还是存在~~
我试过了,当循环次数大于350时就会出错,不会是循环太多了吧....
只有1000次而以啊~~~~

2007-02-01 19:23
lmjv222
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-1-28
收藏
得分:0 
以下是引用卧龙孔明在2007-2-1 19:29:24的发言:
尽量不要用VC编译,vc主要编译c++的源代码,而对纯C支持的相当不好

了解~~呵呵
我觉得是不是有可能和n[20]有关
这段程序,20个元素是用不完的
有可能没有把20个元素用完,他就会出错
内存浪费?
我糊涂了....

2007-02-01 19:33
lmjv222
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-1-28
收藏
得分:0 

恩,多谢版主~~
是因为数组元素大小不够~~~
3Q~~

2007-02-01 20:10
快速回复:一段奇怪的程序
数据加载中...
 
   



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

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