这里不用到强转换会报错,视频里没有用到却编译过了,求指点
void char_ws(unsigned char n);
int main(void)
{
int a = 1234567890;
unsigned char* p = (unsigned char*)&a; //先将a强转换为u8 疑问:视频示例没有用到强转换(源代码:unsigned char * p = &a;)
int i;
for(i = 3;i>=0;i--)
{
char_ws(p[i]);
}
return 0;
}
void char_ws(unsigned char n)
{
int i;
for (i = 1; i <= 8; i++)
{
if (n << 1 >= 256)
{
printf("1");
}
else
{
printf("0");
}
n = n << 1;
}
}