C语言中的数字验证
我需要用C写一个小程序,它只接收数字。 作为这个程序的一部分,我需要创建一个验证,用户输入将只是数字, 否则程序将显示错误 我读过关于C语言中的数字验证,c,C,我需要用C写一个小程序,它只接收数字。 作为这个程序的一部分,我需要创建一个验证,用户输入将只是数字, 否则程序将显示错误 我读过关于isdigit()函数的文章,但它对我不起作用。你还有其他解决办法吗 hours和minutes是用户输入,定义为整数 if (!isdigit(hours) || !isdigit(minutes)) { printf("Invalid Time\n"); } 您需要检查输入的每个字符,以确定它们是否为数字: for(int i = 0; i <
isdigit()
函数的文章,但它对我不起作用。你还有其他解决办法吗
hours
和minutes
是用户输入,定义为整数
if (!isdigit(hours) || !isdigit(minutes))
{
printf("Invalid Time\n");
}
您需要检查输入的每个字符,以确定它们是否为数字:
for(int i = 0; i < strlen(hours); i++)
{
if(!isDigit(hours[i])) { printf("invalid time\n"); break; }
}
for(int i=0;i
您需要检查输入的每个字符,以确定它们是否为数字:
for(int i = 0; i < strlen(hours); i++)
{
if(!isDigit(hours[i])) { printf("invalid time\n"); break; }
}
for(int i=0;i
isdigit
只检查一个字符;我怀疑您正在查看字符串(尽管您的问题中不清楚这一点)。我不确定是否有库函数可以满足您的需要,但您可以使用如下函数:
int isnumeric(char *p)
{
while (*p)
{
if ( ! isdigit(p))
return 0;
p++;
}
return 1;
}
isdigit
仅检查单个字符;我怀疑您正在查看字符串(尽管您的问题中不清楚这一点)。我不确定是否有库函数可以满足您的需要,但您可以使用如下函数:
int isnumeric(char *p)
{
while (*p)
{
if ( ! isdigit(p))
return 0;
p++;
}
return 1;
}
isdigit(X)如果返回真值(0isdigit(X)如果返回真值(0什么
hours
和minutes
?如果变量被定义为整数,它们总是数字。什么hours
和minutes
?如果变量被定义为整数,它们总是数字。在字符串不变的循环中使用strlen?这是过早的悲观。一个好的编译器将一定要在字符串不变的循环中使用strlen优化iTunes?这是过早的悲观。一个好的编译器肯定会优化它