目的是验证用户输入,如果他们在我请求字符串时输入整数,或在我请求整数时输入字符串,或任何其他奇怪的符号等,则会发送错误消息。
有人能给我一个完整版本的例子来演示如何测试吗
1.浮点型测试(输入(2.字符串类型测试(输入(3.字符类型(输入(测试
下面是我测试整数的代码:
int getAge(){
int x;
puts("please enter your age:nn");
x = scanf("%d",&age);
if (x == 1){
printf("You have entered :%d",age);
return (age);
}
else {
wrongInput();
}
}
整数示例,如果不正确则重新输入:
#include <stdio.h>
int main(void)
{
int age;
printf("Please enter your age: ");
while(scanf("%d", &age)!=1 || getchar()!='n')
{
scanf("%*[^n]%*c");
printf("You must enter your age: ");
}
printf("You have entered: %dn", age);
return 0;
}
对于浮球或双打,原理是相同的。
这个问题太含糊了。
在C语言中,一个以null结尾的字符数组被称为"零";字符串";。除了"\0"被认为是字符串的有用结尾(在大多数情况下,但不是所有情况下(之外,没有关于存在哪些字符的规定
字符串可以是一系列可以转换为数字的数字("0"-"9"(。允许用(单个(前导"-"表示负数吗?允许在数字序列之前和/或之后使用空格吗?是否允许电子记数法?(其中"13e3"是指"13000"(。是";数千个分离器";允许吗?如果单个"."是在末尾键入的(可以忽略(,输入是否无效,因为它"是";看起来像";它可能是一个浮点数?范围检查在哪里进行?(不是所有的数字都适合32/64位整数值。(;一打";被认为是一个数字,因为它通常被理解为12?
列表还在继续,我们认为"integers"将是容易的。
不会再继续下去了。这幅画已经画好了。在不了解问题的情况下,试图编写可能是解决方案的代码是毫无意义的。