C语言printf输出

char d=357;
printf("(4)d=%10d,d=%10c\n",d,d);

是如何从357截断成101的

【以下回答由 GPT 生成】

使用位掩码来截断变量d的值。

char d = 357 & 0xFF;
printf("(4)d=%10d, d=%10c\n",d,d);

这样,将变量d与0xFF进行位与操作,只保留了d的低8位,截断成了101。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

你这个函数定义就有问题的,char的范围就是-128到127,所以就截断了!明白了不