gpt4 book ai didi

c - C 中有 setbase() 的等价物吗?如何在c中将基数设置为十进制、十六进制或八进制?

转载 作者:行者123 更新时间:2023-11-30 18:27:51 25 4
gpt4 key购买 nike

long int id;
printf("Enter Aircraft Id: (eg abeb11");
scanf("%x",&id);

id" 必须读取为十六进制值。但我收到警告 format ‘%x’ Expects argument of type ‘unsigned int’, but argument 2 has type ‘long int’ [-Wformat=]

在C++中,我们可以使用setbase()。但我不知道如何在 C 中做到这一点。

最佳答案

您可以使用%lx格式说明符读取长十六进制值。

此外,scanf 想要读入变量的地址。

scanf("%x",id); 这将导致未定义的行为

因此更改如下。

printf("Enter Aircraft Id: (eg abeb11");
scanf("%lx",&id);

关于c - C 中有 setbase() 的等价物吗?如何在c中将基数设置为十进制、十六进制或八进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52401126/

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