输入一串字符,判断该字符串是不是合法的C语言标识符

如题所述

根据合法标识符定义,数字 字母 下划线组成,非字母开头。 

#include <stdio.h>
int main()
{
    char s[200];
    int i;
    int r=1;
    scanf("%s", s);
    if(s[0]<='9' && s[0]>='0') r=0;
    else 
    {
        for(i = 0; s[i]; i ++)
        {
            if((s[0]<='9' && s[0]>='0') || (s[0]<='Z' && s[0]>='A')
            ||(s[0]<='z' && s[0]>='a') ||s[i] == '_') continue;
            r=0;
            break;
        }
    }
    
    if(r == 0) printf("非法\n");
    else printf("合法\n");
    
    return 0;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言编程题,输入一个字符串判断是不是合法的标识符如果合法输出yes如果...
1234567891011121314151617181920212223242526272829303132\/**程序描述:输入一个字符串判断是不是合法的标识符,如果合法输出“yes”,如果不合法输出“no”。算法思路:合法标识符的条件是:首字符必须是下划线(_)或英文字母,并且标识符是由下划线、英文字母和数字组成的。*\/#include #include int main(){ ...

输入一个字符串,判断其是否是C的合法标识符。用c语言编写程序。
C语言合法标识符由数字,字母,下划线组成。且第一个字母不能为数字。于是,根据其定义,可以进行判断,代码如下:define is_upper(x) (x>='A' && x<='Z')\/\/大写字母判断。#define is_lower(x) (x>='a' && x<='z')\/\/小写字母判断。#define is_char(x) (is_upper(x) || is_lowe...

c语言 输入一个字符串,判断其是否是C的合法标识符。
1、使用中文当标识符,其前提是编译器支持中文当标识符,C++11之后,通用字符名覆盖到了汉字。2、使用中文作为标识符时,其头文件与原来一样。3、程序中的名字空间,保持不变。4、可以将保留字定义为中文,用define定义。5、可以用类型名,直接定义中文的变量名。6、中文标识符的使用,和普通标识符一...

杭电2024题 题目要求:输入一个字符串,判断其是否是C的合法标识符。
有空格的话,你这种读取方式会被读取成两个字符串,而且判断方式中》=字母也是行的,你没有=号,而且对合法字符串的判断思路也不对,c语言标准有两个,一个是字符串只能由字母,数字,下划线组成,第二是首位只能是下划线或字母,你那根据长度判断有无空格,若有其它字符%,。等也不能判断 另附本人...

输入一个字符串,判断其是否是C的合法标识符。 C语言新手
{ printf("Pleale input a string(## end)...\\nstr="); if(gets(a),a[0]=='#' && a[1]=='#')\/\/输入了两个##则结束 break; if(!(a[0]>='a' && a[0]<='z' || a[0]>='A' && a[0]<='Z' || a[0]=='...

C语言合法标识符
首先判断第一个字符是不是字母或者下划线,如果不是输出no,如果是,那么逐一判断后面的字符是不是字母,数字或者下划线,如果都是,输出yes,不是输出no

c语言中,标识符怎么才算是合法的?
C语言中,用户定义的标识符,合法条件:第一:组成标识符的字符必须是英文字母、数字、下划线,不可以是其他字符。第二:标识符必须以以字母或下划线开头(大写小写字母都可以)。第三:标识符区分大小写。第四:标识符不能使用关键字。

如何判断一个字符串是不是一个标识符呢?
在判断一个字符串是否为C语言中的标识符时,需要考虑以下几点:1. 标识符分为三类:关键字、预定义标识符、用户标识符。关键字是语言保留的,有特定意义的单词,如if、else、while等。预定义标识符是由系统定义的,如printf、scanf等。用户标识符是程序员自己定义的,用于表示变量、函数等。2. C语言...

c语言中,怎么判断常量是否合法
字符与字符串主要注意转义字符后面是否合法;a:整数中不允许出现逗号;b:科学计数法表示1.5乘以10的2.0次方,由于科学计数法指数部分只能是整数。c:\号是转义符号后面要跟其他符号来表示具体字符,这里什么都没跟就写反引号了;d:字符串常量是连续的2个字符,第1个字符的ascii码是7,第2个字符...

...编程:从键盘输入一个字符和一个字符串,判定该字符能否在输入的字符串...
include "stdio.h"int main(){ char s[100],c;int i;printf("字符串:");gets(s);printf("字符:");c=getchar();for(i=0;s[i]!='\\0'&&s[i]!=c;i++);if(s[i]=='\\0') printf("Not found.\\n");else printf("该元素的下标:%d\\n",i);} ...

相似回答