NienXF 2023-11-08 17:32 采纳率: 50%
浏览 216
已结题

%1d和%d有什么区别呢?

img

为什么%1d不能换成%d
我换成%d写的话,输出的结果会乱码

000000000000000000000000000000000000000000

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-08 21:04
    关注

    【以下回答由 GPT 生成】

    问题标题: %1d和%d有什么区别呢?

    %1d和%d在C语言中的区别是:

    • %1d:表示将输入的整数只读取其最低位的数字,并且按照一位十进制整数进行输出。
    • %d:表示将输入的整数按照十进制整数进行输出。

    将%1d换成%d后输出的结果会乱码的原因是:

    代码中使用了scanf函数来按照一定格式读取输入的数据。当使用%1d时,scanf函数会将输入的整数的最低位的数字读取并赋值给相应的变量,而丢弃其他位的数字。而当使用%d时,scanf函数会将输入的整数作为一个整体读取,并赋值给相应的变量。所以,当使用%d时,如果输入的整数的位数超过了变量的大小,就会导致变量溢出,进而导致输出结果的乱码。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月17日
  • 已采纳回答 11月9日
  • 创建了问题 11月8日