给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。C语言标识符要求:1.非保留字;2.只包含字母、数字及下划线(“_”)。3.不以数字开头。
一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。
一行,如果它是C语言的合法标识符,则输出yes,否则输出no。
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char a[21];
cin.getline(a, 21);
for (long long unsigned int i = 0; i < strlen(a); i++) {
if (i == 0)
if (a[0] == '1' || a[0] == '2' || a[0] == '3' || a[0] == '4' || a[0] == '5' || a[0] == '6' || a[0] == '7'
|| a[0] == '8' || a[0] == '9' || a[0] == '0') {
cout << "no";
break;
} else if (a[i] != 'a' || a[i] != 'b' || a[i] != 'c' || a[i] != 'd' || a[i] != 'e' || a[i] != 'f' || a[i] != 'g'
|| a[i] != 'h' || a[i] != 'i' || a[i] != 'j' || a[i] != 'k' || a[i] != 'l' || a[i] != 'm' || a[i] != 'n' || a[i] != 'o'
|| a[i] != 'p' || a[i] != 'q' || a[i] != 'r' || a[i] != 's' || a[i] != 't' || a[i] != 'u' || a[i] != 'v' || a[i] != 'w'
|| a[i] != 'x' || a[i] != 'y' || a[i] != 'z' || a[i] != '_' || a[i] != '0' || a[i] != '1' || a[i] != '2' || a[i] != '3'
|| a[i] != '4' || a[i] != '5' || a[i] != '6' || a[i] != '7' || a[i] != '8' || a[i] != '9') {
cout << "no";
break;
} else {
cout << "yes";
}
}
}
RKPEGX9R;TWyYcp
no