gpt4 book ai didi

检查输入是否为字符串(仅限 4 个字符),如果不是则返回再次输入

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

我的目标是接受4位数字4个字符的字符串(字符串不应包含数字或特殊字符)

如果输入无效,程序不应终止,它必须允许用户输入详细信息并继续,直到他希望终止为止。

我能够确定输入是否为数字。

if(scanf("%d",&input)!=1)
{
printf("enter the number please");
... // I have option to re enter using while and flags
}
else
{
// I continue my work
...
}

为了检查它是四位数字,我尝试使用命令

i=0;
num = input;
while(num>0)
{
i = i+1;
num = num/10;
}
if(i==4){
...//I continue
}
else
printf("please enter four digit");

我不知道对字符进行相同的检查。 (我知道如何使用 strlen() 检查它的长度)

请帮我写C代码。(也帮我减少/优化上面的逻辑来检查输入是否是4位数字)

最佳答案

我相信您需要 2 个输入,一个数字和一个字符串。你可以这样做

int number= 0;
char string[10] = { 0 };

do {
printf("please enter four digit");
scanf("%d", &number);
if(number >=1000 && number<= 9999)
break;
} while(1);

do {
printf("please enter four character string");
fgets(string, sizeof(string), stdin);
if(strlen(string) == 4)
break;
} while(1);

关于检查输入是否为字符串(仅限 4 个字符),如果不是则返回再次输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21178810/

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