c语言问题大神帮帮忙把
#include "stdio.h"
void f(int *a,int *m)
{
int i;
// a=j;
for (i=0;i<*m;i++){
if (*(a+i)>0)
printf("%d",*(a+i));
else
printf(" ");
}
}
int main()
{
int h[100],i,n;
printf("input n\n");
scanf("%d",&n);
for (i=0;i<n;i++)
scanf("%d",&h[i]);
f(h,&n);
return 0;
}
#include "stdio.h"
void f(int *a,int *m)
{
int i,j[100];
a=j;
for (i=0;i<*m;i++){
if (*(a+i)>0)
printf("%d",*(a+i));
else
printf(" ");
}
}
int main()
{
int h[100],i,n;
printf("input n\n");
scanf("%d",&n);
for (i=0;i<n;i++)
scanf("%d",&h[i]);
f(h,&n);
return 0;
}
第一个可以,第二个却输出错误,相差一个在定义函数中定义数组,谁能帮我解释下两者区别
1回答
-
___C___
第二个在f函数中a=j;这一行错了,把这一行删了就可以了,体会一下。