gpt4 book ai didi

c - 为什么 printf 自动将 %x %o %d 转换为十六进制十进制和十进制

转载 作者:太空宇宙 更新时间:2023-11-04 06:38:48 24 4
gpt4 key购买 nike

一些我认为这应该有效的方法。

#include<stdio.h>
void main(void)
{
short i;
scanf("0x%hi",&i);
printf("0x%x\n",i);
printf("0%o\n",i);
printf("%d\n",i);
}

想知道为什么吗?任何答案,为什么这不起作用。我认为这应该自动转换为十六进制八进制并且至少它应该正确打印小数点

  32768
0x26
046
38

我得到的是 32768 输入。

最佳答案

short 在您的平台上可能是 16 位的,在这种情况下 32768 不适合。尝试使用更大的类型。

演示:http://ideone.com/D0hzP .

关于c - 为什么 printf 自动将 %x %o %d 转换为十六进制十进制和十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11477611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com