gpt4 book ai didi

检查输入是否为数字

转载 作者:行者123 更新时间:2023-11-30 19:32:03 24 4
gpt4 key购买 nike

我有一些代码应该从输入中获取数字直到 EOF 并将它们放入数组中。

#include <stdio.h>

int main(){
int numbers[250000],i,m=0;
while(scanf("%d",&i)!=EOF){
numbers[m]=i;
m++;
}
}

我的问题是我需要检查输入是否有效(如果是数字)。如果它不是一个数字,我需要打印一条消息,上面写着“错误输入”并结束程序。

有人可以帮我吗?

<小时/>PS。我知道这个问题已经被问过好几次了,我已经用谷歌搜索过,但我无法从答案中找出如何使代码适应我的情况。所以,如果这个问题看起来多余,很抱歉。

最佳答案

scanf 的返回值是一个整数,告诉您成功读取了多少项。如果成功读取单个整数,scanf 将返回 1。

#include <stdio.h>

int main(){
int numbers[250000],i,m=0;
int itemsRead = 0;
while(itemsRead = scanf("%d",&i) != EOF){
if (itemsRead != 1)
{
printf("Wrong input");
return 0;
}
numbers[m]=i;
m++;
}
}

关于检查输入是否为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47528381/

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