【发布时间】:2015-01-10 18:09:25
【问题描述】:
我想了解如何验证字符串输入并检查输入的字符串是否为数字?我相信 isdigit() 函数是正确的方法,但是我可以用一个字符来尝试它,但是当涉及到字符串时,该函数对我没有帮助。这就是我到目前为止所得到的,可以任何请指导我验证完整的字符串,如
char *Var1 ="12345" 和 char *var2 ="abcd"
#include <stdio.h>
#include <ctype.h>
int main()
{
char *var1 = "hello";
char *var2 = "12345";
if( isdigit(var1) )
{
printf("var1 = |%s| is a digit\n", var1 );
}
else
{
printf("var1 = |%s| is not a digit\n", var1 );
}
if( isdigit(var2) )
{
printf("var2 = |%s| is a digit\n", var2 );
}
else
{
printf("var2 = |%s| is not a digit\n", var2 );
}
return(0);
}
当变量如下声明和初始化时,程序似乎工作正常,
int var1 = 'h'; int var2 = '2';
但我想了解如何验证完整的字符串,例如 *var =" 12345";
【问题讨论】:
-
阅读
isdigit的文档!它仅适用于单个字符。 (所以下一步应该是合乎逻辑的。) -
您需要遍历数组,将 isdigit 应用于每个字符并检查返回值。