改动处见注释,供参考:
#include <stdio.h>
#include <string.h>
int main()
{
unsigned int num; //int 修改
int i=0;
char c[100];
printf("Please input a integer:");
scanf("%u",&num); //scanf("%d",&num); 修改
while(num){ //while(num/2) 修改
c[i] = (num%2)+'0'; //c[i]=(char)(num%2);修改
num = num/2;
i++;
}
//c[i]=(char)num; 修改
printf("n=");
for(i--;i>=0;i--){//for(i=strlen-1;i>=0;i--)修改
printf("%c",c[i]);
}
return 0;
}
strlen的初始值呢?
其实
for(;i>=0;i--)即可