问题描述:
输入一个字符串,判断其是否是C的合法标识符。C语言中规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
输入:
输入一个长度不超过50的字符串。
输出:
如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
样例输入:
8fixafghgjhjhjyuyuyyuyuyu
样例输出:
no
参考代码:
#include<stdio.h>
#include<string.h>
int main()
{
char a[50];
int count=1;
gets(a);
int b=strlen(a);
if((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z')||(a[0]=='_'))
{
for(int i=1;a[i]!='\0';i++)
{
if ((a[i] >= 'a' && a[i] <= 'z') || (a[i] >= 'A' && a[i] <= 'Z') || (a[i] == '_') || (a[i]>='0'&&a[i]<='9'))
count++;
}
if(count==b)
printf("yes\n");
else
printf("no\n");
}
else
printf("no\n");
return 0;
}