C语言——判断字符串是否是C的合法标识符

  • Post author:
  • Post category:其他


输入一个字符串,判断其是否是C的合法标识符。

输入格式:

数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。

输出格式:

对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出”yes”,否则,输出“no”。


代码

#include<stdio.h>

int main(){


int n,i;

char a[50];

while(scanf(“%d”,&n)!=EOF){

while(n–){

getchar();

gets(a);

if(a[0]==’_’||(a[0]>=’a’&&a[0]<=’z’)){


//判断首字符是否是下划线或字母



for(i=1;a[i]!=’\0′;i++){

if(a[i]==’_’||(a[i]>=’a’&&a[i]<=’z’)||(a[i]>=’A’&&a[i]<=’Z’)||(a[i]>=’0’&&a[i]<=’9′))

continue;


//判断后续字母是否是合法标识符



else{


printf(“no”);

break;

}

}

if(a[i]==’\0′)

printf(“yes”);




/*输出yes的条件是判断a[i]是否为‘\0’,原因是在for循环中,如果符合合法标识定义的话就continue,continue到最后是以‘\0’表示结束的,所以只需判断最后一个字符是否为‘\0’,就可以输出yes。*/



}

else

printf(“no”);

}

return 0;

}

}

运行截图:



版权声明:本文为qq_61768843原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。