C语言:合法的C标识符

Description给出一个标识符,请你判断它是否是C语言合法的标识符。Input输入一个标识符。Output判断是否合法,如果是输出YES,否则输出NO。Sample... Description

给出一个标识符,请你判断它是否是C语言合法的标识符。
Input
输入一个标识符。
Output
判断是否合法,如果是输出YES,否则输出NO。
Sample Input
123You
Sample Output
NO
Hint
C语言规定:标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
下面是我做的,在acm上提交提示答案错误,哪位大哥帮忙看看是哪错的....
#include<stdio.h>
#include<string.h>
int main()
{
int i,f,n,b;
char a[81];
gets(a);
n=strlen(a);
if((a[0]=='_')||(a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z'))
b=1;
for(i=1;i<n;i++)
{
if((a[i]=='_')||(a[i]==' ')||(a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[0]<='Z')||(a[i]>='0'&&a[i]<='9'))
f=1;
else
f=0;
break;
}
if(f==1&&b==1)
printf("YES\n");
else
printf("NO\n");
return 0;
}
一楼的那个答案还是错的啊,对b负值以后还是不对啊
展开
 我来答
乐跑小子
2016-01-14 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:7%
帮助的人:4720万
展开全部
在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C 规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,并且其第一个字符必须是字母或下划线。

  在使用标识符时还必须注意以下几点:

  (1)标准C不限制标识符的长度,但它受各种版本的C 语言编译系统限制,同时也受到具体机器的限制。例如在某版本C 中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。

  (2)在标识符中,大小写是有区别的。例如BOOK和book 是两个不同的标识符。

  (3)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便阅读理解,作到“顾名思义”。
百度网友6188306
推荐于2018-02-26 · 超过33用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:98.8万
展开全部
#include<stdio.h>
#include<string.h>
int main()
{
int i,f,n,b=0; b没有赋初值
char a[81];
gets(a);
n=strlen(a);
if((a[0]=='_')||(a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z'))
b=1;
for(i=1;i<n;i++)
{
if((a[i]=='_')||(a[i]==' ')||(a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[0]<='Z')||(a[i]>='0'&&a[i]<='9'))
f=1;
else
f=0;
break;
}
if(f==1&&b==1)
printf("YES\n");
else
printf("NO\n");
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丸梓子儿
高粉答主

2020-04-22 · 每个回答都超有意思的
知道答主
回答量:9.1万
采纳率:2%
帮助的人:6831万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式