C語言實現判斷變數名是否合法:
代碼:
#include<stdio.h><br />#include<string.h><br />#include<stdlib.h></p><p>int main(){<br /> int n,i,flag,len,flag1;<br /> char *ss[]={"auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","int","long","register","return","short","signed","sizeof", "static", "struct", "switch", "typedef", "union", "unsigned","void", "volatile", "while"};<br /> char s[1000];<br /> scanf("%d",&n);<br /> getchar();<br /> while(n--){<br /> flag=1;<br /> flag1=1;</p><p> gets(s);<br /> //printf("%s/n",s);<br /> len=strlen(s);</p><p> if(s[0]=='_'||(s[0]>='a'&&s[0]<='z')||(s[0]>='A'&&s[0]<='Z')){<br /> for(i=1;i<len;i++){<br /> if(!(s[i]=='_'||(s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')||(s[i]>='0'&&s[i]<='9'))) {<br /> flag=0;<br /> break;<br /> }<br /> }<br /> }<br /> else{<br /> flag=0;//最終標記;<br /> }<br /> if(flag==1){<br /> for(i=0;i<32;i++){<br /> if(strcmp(ss[i],s)==0){<br /> flag1=0;<br /> break;<br /> }<br /> }<br /> if(flag1==1){<br /> //puts(s);<br /> printf("yes/n");<br /> }<br /> else{<br /> printf("no/n");<br /> }<br /> }<br /> else{<br /> printf("no/n");<br /> }<br /> }<br /> //system("pause");<br />}<br />