#include<stdio.h>
int main()
{
char a[100],*p
while(1)
{
printf("输入待检测字串:")
scanf("%s",&a)
p = a
while(*p!='\0')
{
if(*p<'0'||*p>'9')
{
printf("%s不是一个合法数字\n",&a)
break
}
p++
}
if(*p=='\0')
{
printf("%s是合法数字串\n",&a)
}
}
return 0
}
1.通过scanf函数的返回值来验证输入的合法性。
2.
scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结束)。
①
遇空格、“回车”、“跳格”键。
②
遇宽度结束。
③
遇非法输入。
3.
scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
如:
scanf("%d
%d",&a,&b)
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end
of
file,返回值为EOF。
且返回值为int型.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)