首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个小程序里的有关问题,特别搞,求高手,也许你也没有碰到过哦

2012-05-04 
一个小程序里的问题,特别搞,求高手,也许你也没有碰到过哦!#include stdio.hint main(){int i,jfor(i1

一个小程序里的问题,特别搞,求高手,也许你也没有碰到过哦!
#include "stdio.h"
int main()
{
int i,j;
  for(i=1;i<=100;i++)
  for(j=1;j<=i;j++)
  if(i%j==0)
  printf("%d %d\n",i,j);
  return 0;
}
这是我的一个大代码你提出来的东西,因为它,导致了我所有的错误!
主要是运行结果坑爹啊!如下:
46 2
46 23
46 46
47 1
47 47
.
.
.
.
假如将以上代码改一下
其中的i<=100改为i<=50
如下
#include "stdio.h"
int main()
{
int i,j;
  for(i=1;i<=50;i++)
  for(j=1;j<=i;j++)
  if(i%j==0)
  printf("%d %d\n",i,j);
  return 0;
}
然后运行一切正常
1 1
2 1
2 2
3 1
3 3



我估计是什么缓存区溢出,反正就是内存出了毛病吧!
求各位大哥解答!

[解决办法]
我在VC里把PRINTF改成TRACE运行正常啊。
[解决办法]
楼主,程序是正确的,没有错误,只是控制台屏幕太小了,放不下那么多...你用DEBUG调试一下不就可以了,或者将他们输出到文件中去试一下
[解决办法]
不是溢出的问题,是你的显示不全的问题你把程序改一下就可以看见全部了。
因为你的程序显示的项太多了。
int number=0;
for(i=1;i<=100;i++)
{
for(j=1;j<=i;j++)
{
if(i%j==0)
{
printf("%d %d;",i,j);
number++;
}
if (number>20)
{
printf("\n");
number=0;
}
}
}
[解决办法]
控制台屏幕太小了.....楼主把结果输出到文件中就可以看清楚了

热点排行