输入一个字符串,判断其是否是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; }