6.合法 C 标识符

来源:互联网 发布:淘宝武士盔甲 编辑:程序博客网 时间:2024/05/16 18:51
描述

给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)

C语言标识符要求:

1. 非保留字;

2. 只包含字母、数字及下划线(“_”)。

3. 不以数字开头。

输入
一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。
输出
一行,如果它是C语言的合法标识符,则输出yes,否则输出no。
样例输入
RKPEGX9R;TWyYcp
样例输出

no


#include<stdio.h>
#include<string.h>
int main()
{
    char s[3333];
    scanf("%s", s);
    int len = strlen(s);
    int i, flag = 1;//flag用作状态位
    for(i = 0; i < len; i++)
    {
        if(!(isalnum(s[i]) || s[i] == '_')) flag = 0;//isalnum(int c)判断是否是数字或a~z A~Z
    }
    if(isdigit(s[0])) flag = 0;//isdigit(int c)//判断是否为数字
    printf("%s\n", flag ? "yes" : "no");
    return 0;
}

原创粉丝点击