输入一个字符串,判断其是否是C的合法标识符。
#include<stdio.h>
#include<string.h>
char s[1000];
int main()
{
int a,b,c,n,m,lo,t=0,sum=0;
char st1,st2;
scanf("%d",&n);
getchar();
while(n--)
{
c=0;
while(scanf("%c",&st1))
{
if(st1=='\n')
break;
else
s[c++]=st1;
}
lo=c;//刚开始我在这里写的是lo=strlen(s);这样会造成lo只会越来越大!因为上一次储存在数组中的字符还在 !数组s并没有清空!
if(s[0]>='0' && s[0]<='9')
{
printf("no\n");
continue;
}
for(int i=0;i<lo;i++)
{
if((s[i]>=48 && s[i]<=57) || s[i]==95 || (s[i]<=90 && s[i]>=65) || (s[i]<=122 && s[i]>=97))
t++;
}
if(t==lo)
{
printf("yes\n");
}
else
{
printf("no\n");
}
t=0;
}
return 0;
}