C语言判断输入是否为C语言标识符

#include<stdio.h>
#define N 21
void isLegal(char *p)
{
 if (*p >= '0'&&*p <= '9')
 {
  printf("illegal\n");
  return;
 }
 else
  while (*++p)
   if (!(*p >= 'a'&&*p <= 'z' || *p >= 'A'&&*p <= 'Z' || *p >= '0'&&*p <= '9' || *p == '_'))
   {
    printf("illegal\n");
    return;
   }
 printf("legal\n");
}
int main()
{
 char s[N], *p = s;
 int i;
 for (i = 0;getchar()==' '; i++)#
 {                #
  s[i]=getchar();         #
 }               #
 isLegal(s);
 return 0;
}

/*  其中#标识的代码可以简化为 gets(s); */

posted @ 2017-04-16 23:23  低调小怪  阅读(474)  评论(0编辑  收藏  举报