强制转换,该如何处理

强制转换main(){charb[] hello,you b[5]0printf( %s\n ,b)}程序中,原本数字0在内存中占用4个字节

强制转换
main()
{
        char   b[]= "hello,you ";
        b[5]=0;
        printf( "%s\n ",b);
}
程序中,原本数字0在内存中占用4个字节,二进制代码为0000   0000   0000   0000   0000   0000   0000   0000,放进字符型变量中,二进制代码长度被削减,变成0000   0000,但其ascii码值仍为0?


[解决办法]
你是 char類型, 做為b[5]=0來講就只占1一個字節,就是0x00, 0是在char的存儲范圍之內,所以不會有錯。