| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7541 人关注过本帖
标题:输入一个字符串,判断其是否是C的合法标识符
只看楼主 加入收藏
周星宇
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-12-6
结帖率:0
收藏
已结贴  问题点数:4 回复次数:2 
输入一个字符串,判断其是否是C的合法标识符
输入一个字符串,判断其是否是C的合法标识符,请高手指教
搜索更多相关主题的帖子: 标识 字符串 
2011-12-07 11:11
gao16forever
Rank: 2
等 级:论坛游民
帖 子:32
专家分:29
注 册:2011-11-29
收藏
得分:2 
#include"stdio.h"
void main()
{
    char a[51];
    int k,i=0,b=0;
    for (i=0;i<51;i++)
    {
        scanf("%c",&a[i]);
        if (a[i]=='\n')
        {
            k=i-1;
            break;
        }
    }
    if ((a[0]>=65 && a[0]<=90) || a[0]==95 || (a[0]>=97 && a[0]<=122))
    {
    for (i=0;i<=k;i++)
    {
        if ((a[i]>=65 && a[i]<=90) || a[i]==95 || (a[i]>=97 && a[i]<=122) || (a[i]>=48 && a[i]<=57))
         b++;
        else break;
    }
    }
    if (b==k+1) printf("yes\n");
    else printf("no\n");
}
2011-12-07 11:57
leenchow
Rank: 2
等 级:论坛游民
帖 子:17
专家分:18
注 册:2010-3-29
收藏
得分:2 
#include <stdio.h>
#include <string.h>

static const char *Keyword[32]=
{
  "auto",    "break",   "case",     "char",
  "const",   "continue","default",  "do",
  "double",  "else",    "enum",     "extern",
  "float",   "for",     "goto",     "if",
  "int",     "long",    "register", "return",
  "short",   "signed",  "static",   "sizeof",
  "struct",  "switch",  "typedef",  "union",
  "unsigned","void",    "volatile", "while"
};


int IsKeyword(const char *s)
{

  int i;
  
  for(i=0;i<32;i++) if(!strcmp(s,Keyword[i])) return 1;
  
  return 0;
}

int IsIdentifier(const char *s)
{

   if(IsKeyword(s)) return 0;
   
   if(!isalpha(*s) && *s != '_') return 0;
   
   s++;
   
   while(*s)
   {
   
     if(!isalpha(*s) && !isdigit(*s) && *s != '_') return 0;
   
     s++;
   }
 
  return 1;
  
}


int main(void)
{
  char str[125];
  
  gets(str);
  
  if(IsIdentifier(str))  printf("it is a indentifier string");
   else printf("it is not a indentifier string");

   getch();
   return 0;
}
2011-12-10 14:47
快速回复:输入一个字符串,判断其是否是C的合法标识符
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029448 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved