疯啦疯啦 感觉看看啥问题 我也不知道哪错啦
题目描述给出一个标识符,请你判断它是否是C语言合法的标识符。
输入
输入一个标识符。
输出
判断是否合法,如果是输出YES,否则输出NO。
示例输入
123You
示例输出
NO
提示
C语言规定:标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
这是我写的代码 看看哪错啦
#include <stdio.h>
#include <string.h>
int main()
{
char a[20];
int i,k;
gets(a);
k=strlen(a);
if ((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z')||(a[0]=='_'))
{
for(i=1;i<=k;i++)
{
if (a[i]<'a'||a[i]>'z')&&(a[i]<'A'||a[i]>'Z')&&(a[i]!='_'))
{
break;
}
}
if(i>k)
{
printf("YES");
}
else
{
printf("NO");
}
}
else
{
printf("NO");
}
return 0;
}