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

求大牛帮助撒。

2013-02-25 
求大牛相助撒。。。统计立方数:#includestdio.h#includemath.hint main(){int a[1000],i,j,term,count0

求大牛相助撒。。。
统计立方数:#include<stdio.h>
#include<math.h>
int main()
{
int a[1000],i,j,term,count=0;
for(i=0;scanf("%d",&a[i])!=0;i++)
{
scanf("%d",&a[i]);
for(j=1;j<pow(2,32);j++)
{
term=pow(j,3);
}
if(term==i)
{
  count++;
}
}
printf("%d",count);
}
哪里错了?
[解决办法]
加断点自己调试,
[解决办法]
谁说你错了?问他!
[解决办法]
scanf("%d",&a[i])!=0 这什么意思
[解决办法]
for(i=0;scanf("%d",&a[i])!=0;i++) 这行代码错了

你的搞明白scanf函数的返回值的含义
These functions return the number of input items successfully matched and assigned, which  can  be  fewer  than
       provided for, or even zero in the event of an early matching failure.

a你是个int类型的数组, 总能匹配成功, 永远返回1, 1!=0 总是成功, 死循环了。


[解决办法]

引用:
引用:for(i=0;scanf("%d",&amp;amp;a[i])!=0;i++) 这行代码错了

你的搞明白scanf函数的返回值的含义
These functions return the number of input items successfully matched and assigned, which  ca……


能运行是因为 你 逻辑入口是正确的,但没有出口。
for(i=0;scanf("%d",&a[i])!=0;i++)
修改为
for(i=0;;i++)
{
scanf("%d",&a[i]);
if(a[i] == 0)
  break;
....
}
[解决办法]
引用:
引用:引用:
引用:for(i=0;scanf("%d",&amp;amp;amp;amp;a[i])!=0;i++) 这行代码错了

你的搞明白scanf函数的返回值的含义
These functions return the number of inp……

可以执行,但得不到你自己想要的结果

这里是你自己判断 scanf函数返回值错误,用getchar就可以了
[解决办法]
单步调试和设断点调试是程序员必须掌握的技能之一。

不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!

热点排行