求大神,C语言,为什么运行到while(a[i]!=0){printf("%d ",a[i]);i++;} a[i]的值会变得莫名其妙,

#include<stdio.h>#include<stdlib.h>int*xunzhao(intm){inti,j=0;intq[10]={0};//printf("... #include <stdio.h>
#include <stdlib.h>
int* xunzhao(int m)
{
int i,j=0;
int q[10]={0};//printf("%d",q[9]);
for(i=2;i<=m;i++)
{
while(m%i==0)
{
m=m/i;
printf("%d*",i);
q[j]=i;//printf("%d/",q[j]);
j++;
}
}
q[j]=0;
return q;

}
int main()
{
int m,n,i=0,j=0;
int d[10],u[10];
int*a=d;
int*b=u;
scanf("%d,%d",&m,&n);
a=xunzhao(m);
//printf("%d",*a);

while(a[i]!=0){printf("%d ",a[i]);i++;}
printf("\n");
b=xunzhao(n);
while(b[j]!=0)printf("%d ",b[j]);
system("pause");
return 0;
}
展开
 我来答
松甜恬0Je4ba
2014-03-14 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3474万
展开全部
函数xunzhao不能返回q,因为q是局部变量,当函数运行结束了,q也就销毁了,所以里面的东西乱七八糟了。
匿名用户
2014-03-14
展开全部
代码做什么的。
追问
一个基于质数分解求最大公约数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式