strlen函数使用失效,求解答
#include <stdio.h>#include <string.h>
int ershi( int m )
{
int i;
char str[100];
for( i=0;m!=0;i++ ){
str[i]=m%2;
m=m/2;
}
//str[i+1]='\0';
puts(str);
int len=strlen(str); //?????????????
printf("%d\n",len);
for(;i>-1;i--)
printf("%d",str[i]);
}
int main()
{
int n;
scanf("%d",&n);
ershi(n);
printf("\n");
return 0;
}
一个十进制转化为二进值的函数:(只限十进制正数的转化)
问题一 :strlen()使用得出的值为0
问题二 :用puts()打印出在字符串时出现乱码
注:我测试的时候输入 25 得二进制 011001
求解答: