我想验证我输入的字段,并显示错误。 这是我在C中的代码:
struct student
{
char name[15];
char age[3];
};
struct student st;
printf("enter your name: ");
scanf("%s", st.name);
fprintf(ptrShkrues, "%5s", st.name);
printf("enter your age: ");
scanf("%s", st.age);
fprintf(ptrShkrues, "%5s", st.age);
所以我需要检查它是char还是int并显示printf。在INT
保存我的年龄是否更好?以及如何验证它?
答案 0 :(得分:0)
尝试fgets
和sscanf
char buffer[1000];
char name[6];
int age;
fgets(buffer, sizeof buffer, stdin); /* needs error checking */
if (sscanf(buffer, "%5s%d", name, &age) != 2) /* error */;
答案 1 :(得分:0)
假设您的姓名和年龄是char []类型,您可以选择
int flag=1;
for(i=0;i<size&&flag==1;i++){//size is the length of n
if( isdigit(name[i]) )
flag=1;
else
flag=0;
}
if(flag==1)
printf("Is an integer");
else
printf("It has characters");