#include<stdio.h>
#include<string.h>
char check(char a,char b[]);
int main()
{
char reci[20];
char num,re,flag=1;
do
{
printf("\nPlease input\n");
//scanf("%s",reci);
//这里输入关于到回车换行的问题
gets(reci);
num=strlen(reci);
re=check(num,reci);
//这里传入数组时,不需要[],而函数定义时就需要[],除非用指针
if(num==1)
{
if(reci[0]=='q')
{
flag=0;
exit(0);
}
if(re==1)
printf("You input num : %s\n",reci);
else if(re==2)
printf("You input char : %s\n",reci);
}
else
{
if(re==1)
printf("You input num : %s\n",reci);
else if(re==2)
printf("You input string : %s\n",reci);
else if(re==3)
printf("You input string and num : %s\n",reci);
}
}while(flag);
}
char check(char a,char b[]) //检测输入的字符串是否存在数字或字符
{
char c,i;
c=0;
for(i=0;i<a;i++)
{
if((b[i]>='0' && b[i]<='9')||(b[i]=='-'))
{
c|=0x01;
}//这里熟悉练习位操作置数,而不是简单的i=1赋值那样。
else
{
c|=0x02;
}
}
return c;
}
/*
//使用指针
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char check(char a,char *b);
int main()
{
char reci[20];
char num,re,flag=1;
do
{
printf("\nPlease input\n");
//scanf("%s",reci);
gets(reci);
num=strlen(reci);
re=check(num,reci);
if(num==1)
{
if(reci[0]=='q')
{
flag=0;
exit(0);
}
if(re==1)
printf("You input num : %s\n",reci);
else if(re==2)
printf("You input char : %s\n",reci);
}
else
{
if(re==1)
printf("You input num : %s\n",reci);
else if(re==2)
printf("You input string : %s\n",reci);
else if(re==3)
printf("You input string and num : %s\n",reci);
}
}while(flag);
return 0;
}
char check(char a,char *b)
{
int c=0;
do{
if((*b>='0' && *b<='9')||(*b=='-'))
{
c|=0x01;
}
else
{
c|=0x02;
}
}while(*(++b)!='\0');
return c;
}
*/
C语言判断用户输入的是字符还是数字
最新推荐文章于 2023-11-28 15:46:05 发布