猿问

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; } 第一个可以,第二个却输出错误,相差一个在定义函数中定义数组,谁能帮我解释下两者区别
一潭水
浏览 897回答 1
1回答

___C___

第二个在f函数中a=j;这一行错了,把这一行删了就可以了,体会一下。 
随时随地看视频慕课网APP
我要回答