C语言标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,并且其第一个字符必须是字母或下划线。
题目描述
输入一个字符串,判断其是否是C的合法标识符。
输入
输入一个长度不超过50的字符串。
输出
如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
样例输入
8fixafghgjhjhjyuyuyyuyuyu
样例输出
no
AC:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int flag=0,len;
char ch[60];
gets(ch);/*不能使用scanf("%s",ch);会忽略掉空格。
自己在写这道题时就犯了这个错误*/
len=strlen(ch);
getchar();//必不可少,接受回车。
if(ch[0]=='_'||ch[0]>='A'&&ch[0]<='Z'||ch[0]>='a'&&ch[0]<='z')
{
for(int i=1;i<len;i++)
{
if(ch[i]=='_'||ch[i]>='A'&&ch[i]<='Z'||ch[i]>='a'&&ch[i]<='z'||ch[i]>='0'&&ch[i]<='9')
{
continue;
}
else
{
flag=1;break;
}
}
if(flag==0)puts("yes");
else puts("no");
}
else puts("no");
return 0;
}
初学C语言希望和大家共同进步,欢迎大佬指导。~~~~