C语言判断一串字符是否为合法的标识符 我的怎么代码不对?

2025-03-01 20:31:12
推荐回答(1个)
回答1:

#include
#include

int main()
{
char str[1006];
int i,flag=1;
gets(str);
if(str[0]=='_'||isalpha(str[0]))
flag=1;
else
{
flag=0;goto IN;
}
for(i=1;str[i]!='\0';i++)
{
if(isdigit(str[i])||isalpha(str[i])||str[i]=='_')
flag=1;
else
{
flag=0;break;
}
}
if(flag==1)
printf("yes\n");
else
IN: printf("no\n");
return 0;
}
已测试通过。把 ‘-’改成‘_’就好了