这次错误主要就是忘记了数组做参数
废话也不多说了,代码奉上
//十进制转为二进制 #include"stdio.h" #define M 20 int transform(int ,int []); void exchange(int [],int ); int main() { int dec,bin[M],i; printf("please input a DEC num:"); scanf("%d",&dec); printf("\n"); i=transform(dec,bin); exchange(bin,i); return 0; } int transform(int n,int m[]) { int i=0; while(n!=0) { m[i++]=n%2; n=n/2; } return i; } void exchange(int m[],int n) { int i,temp; for(i=0;i<n/2;i++) { temp=m[i]; m[i]=m[n-i-1]; m[n-i-1]=temp; } for(i=0;i<n;i++) { printf("%d",m[i]); } }