一本通-1134:合法C标识符查¶
【题目描述】 给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。
C语言标识符要求:
1 2 3 4 5 |
|
【输入】 一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。
【输出】 一行,如果它是C语言的合法标识符,则输出yes,否则输出no。
【输入样例】 RKPEGX9R;TWyYcp
【输出样例】 no
#include <bits/stdc++.h>
using namespace std;
char s[105];
bool check()
{
// int n = strlen(s);
char *p = s;
if (isdigit(s[0])) return false;
// for (int i = 0; i < n; ++i) {
// if (isalnum(s[i]) || s[i] == '_') continue;
// else return false;
// }
while (*p) {
if (isalnum(*p) || *p == '_') ++p;
else return false;
}
return true;
}
int main()
{
scanf("%s", s);
if (check()) printf("yes\n");
else printf("no\n");
return 0;
}
两种方法练习