输入一个字符串,判断其是否为合法的标识符
主要是找到判断的方法,知道什么是合法的标识符,这是最基础的。然后根据ASCII就能判断啦。
还要注意的是不能用scanf("%s",ch);因为无法读入空格,scanf遇到空格,就判断输入结束了;
所以要用gets输入.
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,k,n,len;
char str[60];
scanf("%d",&n);
getchar();
while(n--)
{
gets(str);
len=strlen(str);
if(str[0]==95||(str[0]>=65&&str[0]<=90)||(str[0]>=97&&str[0]<=122))
{
int flag=1;
for(i=1;i<len;i++)
{
if(str[i]<48||(str[i]>57&&str[i]<65)||(str[i]!=95&&(str[i]>90&&str[i]<97))||str[i]>122)
{
flag=0;
break;
}
}
if(flag)
printf("yes\n");
else
printf("no\n");
}
else
printf("no\n");
}
return 0;
}