爲什麼不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