为什么不strlen()返回一个确切的值?
例如,当我输入123时,它返回2.对于12345,它返回1.为什么?为什么strlen()每次都返回2或1?
#include<stdio.h>
#include<string.h>
int main()
{
long int ui,remainder,i=0,len;
char binary[20];
scanf("%ld",&ui);
while(ui!=0) {
remainder=ui%2;
binary[i]=(char)remainder;
printf("%d ",remainder);
ui=ui/2;
i++;
}
binary[i]='\0';
printf("len is %ld\n",strlen(binary));
for(i=len-1;i>=0;i--) printf("%d",binary[i]);
return 0;
}
如果输入是' “0”',所述输出是'“len是0 \ n”'。 – chux
没有比特需要代表零我猜... – cleblanc