|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
为啥我输入到6输入的时候,后面会多一个奇怪的数???
- #include<stdio.h>
- #include<stdlib.h>
- int num(int x);
- int main()
- {
- int n[100],a[100],m,i;
- for(i=0;;i++)
- {
- scanf("%d",&n[i]);
- if(n[i]==0)
- break;
- }
- for(i=0;n[i]!=0;i++)
- {
- a[i]=num(n[i]);
- }
- i=0;
- while(a[i])
- {
- printf("%d\n",a[i]);
- i++;
- }
- system("pause");
- return 0;
- }
- int num(int x)
- {
- if(x<5)
- return x;
- else
- return (x-3+num(x-1));
- }
复制代码
18行while(a[i])这个条件是错的,数组初始化的时候每个变量的数据是不确定的,取决于内存中这个位置之前的数据。你这里恰好a[4]初值为11796480而第二次运行时a[3]初值为0。建议在前面输入时加一个计数器变量count,后面条件改成while(i < count)
|
|