0 )) { -6ren">
gpt4 book ai didi

c - 如何确保用户输入的是正数

转载 作者:行者123 更新时间:2023-11-30 17:15:46 24 4
gpt4 key购买 nike

我这样做了,但遗憾的是它不起作用,并且当输入是字符/字符串等时崩溃。

如何修复它?

while((scanf("%d",&numOfDef) != 1 ) && (numOfDef>0 ))
{
printf("not a pos num try again");
}

最佳答案

实际上,需要进行两处更改:while((scanf("%d",&numOfDef) >= 0 ) && !( numOfDef>0 ))

首先比较scanf的返回值为 0,其次条件应该是 !( numOfDef>0 )( numOfDef<=0 )

返回值scanf (来源:http://www.geeksforgeeks.org/g-fact-10/):

In C, printf() returns the number of characters successfully written on the output and scanf() returns number of items successfully read.

Ideone 代码链接:http://ideone.com/TjtuDy

关于c - 如何确保用户输入的是正数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875507/

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