gpt4 book ai didi

c - Scanf 转义括号文字内的十进制数字

转载 作者:行者123 更新时间:2023-12-01 16:19:13 25 4
gpt4 key购买 nike

我想从标准输入读取十进制数字,用方括号括起来。目前,我使用 scanf() 和格式说明符 %d。如果转换失败,我将退出程序并显示错误代码 1。

int result = scanf(" [ %d ] ", &num);
if (result != 1)
return 1;

例如,此输入不会触发转换失败:[123

我如果理解正确的话 scanf() 会将方括号 [] 解释为字符“集”?有没有办法告诉 scanf() 从字面上解释方括号 [] ?或者一个简单(但功能齐全)的解决方法?

最佳答案

不要使用scanf。使用fgets,自己检查方括号,并使用strtol来转换数字。您应该使用endptr来检查额外的结束字符,这可能是查找结束符]的有用方法。

关于c - Scanf 转义括号文字内的十进制数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58942940/

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