#include
int main()
{
int fun(int m);
int p;
scanf("%d",&p);
printf("m is %d",p);
fun(p);
}
int fun(int m)
{
int n=0,k;
int a[n];
printf("m is %d:",m);
for(k=1;k<=m;k++)
{
if(k%7==0||k%11==0)
{
n++;
a[n-1]=k;
printf("a[%d]=%d\n",(n-1),k);
}
}
printf("the n is :%d",n);
以上是我的测试代码,例如输入50,则输出1-50之间能被7或11整除的数,期待输出的结果为
7,11,14,21,22,28,33,35,42,44,49
可是我的代码输出结果如下:
./avgs
50
m is 50
a[0]=7
a[1]=11
a[2]=14
a[3]=21
a[4]=22
a[5]=28
a[6]=33
a[7]=35
the n is :8
只输出到35就结束了 而且总的数组长度为8
想请教下出错的原因,还望不吝赐教~~
多谢多谢~
#include
void fun(int m)
{
int k , n = 0;
int a[100];
printf("m is %d:",m);
for(k=1;k<=m;k++)
{
if(k%7==0||k%11==0)
{
n++;
a[n-1]=k;
printf("a[%d]=%d\n",(n-1),k);
}
}
}
int main()
{
int p;
scanf("%d",&p);
printf("m is %d",p);
fun(p);
return 0;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。