gpt4 book ai didi

c - 当检测到字符时,如何让 C 中的 scanf 打印错误?

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

我认为代码应该是这样的。顺便说一下,它在一个函数 (main) 中。

char a;
if (a [is detected]) {
printf("Incorrect input format \n");
exit( EXIT_FAILURE );
}

最佳答案

请记住,数字也是字符。您要做的是使用 scanf 扫描一个整数,并检查返回值。 scanf 函数系列的返回值是成功扫描的项目数,或 -1 错误。如果您扫描单个整数(格式 "%d"),那么如果 scanf 没有返回 1,则表示有错误。

所以你可以做类似的事情

if (scanf(" %d", &number) == 1)
{
/* Got a number okay */
}
else
{
/* Not a number in the input */
}

还要记住,如果 scanf 失败,输入仍然存在,所以您不能只是循环并希望忽略当前输入。一种简单的方法是使用 fgets 读取一行输入,然后使用 sscanf 扫描新读取的行。

关于c - 当检测到字符时,如何让 C 中的 scanf 打印错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18821122/

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