【发布时间】:2014-02-06 08:45:39
【问题描述】:
我的目标是接受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位数字)
【问题讨论】:
-
atoi(),isaplha()和返回值。 -
您可以通过
num >= 1000 && num <=9999查看4位数字。 -
@Rohan 这很有帮助。我可以避免循环。谢谢。请帮我在字符串中找到解决方案。
标签: c string validation input scanf