C++语言合法标识符

题目:
#include<iostream>#include<cstring>#include<cctype>using namespace std; int main(){ int n, i, j, f; char a[50]; f=1; cin >> n; getchar(); for(i=0; i<n; i++) { gets(a); if( (a[0]>='a' &&a[0]<='z') || (a[0]>='A' && a[0]<='Z') || a[0]=='_' ) f=0; for(j=1; a[j]; j++) { if( ! ( a[j]==' ' || (a[j]>='a' && a[j]<='z') || (a[j]>='A' && a[j]<='Z') || a[j]=='_' || (a[j]>='0' && a[j]<='9')) ) f=1; } if(f==0) cout << "yes" << endl; else cout << "no" << endl; } return 0;}

提交后Wrong Answer。补知道是哪里错了。请用C++

C语言标识符是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义,标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。

标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写

扩展资料

在汇编语言里,标识符由字母、数字、下划线组成。标识符的命名规则是:由字母(大、小写皆可)、数字及下划线组成,且第一个字符必须是字母或者下划线,不能用具有意义的指令符号或者寄存器。在汇编语言中,一般用大写字母。

在python里,标识符有字母、数字、下划线组成。所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。python中的标识符是区分大小写的。

以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入,以双下划线开头的(__foo)代表类的私有成员。

参考资料 标识符_百度百科



温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-09-30
#include<iostream>
using namespace std;
  
int main()
{
    int n, i, j, f;
    char a[50];
    f=1;
    cin >> n;
    getchar();
    for(i=0; i<n; i++)
    {
        gets(a);
f=1;//默认置1,不是
        if( (a[0]>='a' &&a[0]<='z') || (a[0]>='A' && a[0]<='Z') || a[0]=='_' )
            f=0;
        for(j=1; a[j]; j++)  
        {
            if( ! ( (a[j]>='a' && a[j]<='z') || (a[j]>='A' && a[j]<='Z') || a[j]=='_' || (a[j]>='0' && a[j]<='9')) )//不应该加上空格
                f=1;
        }
        if(f==0)
            cout << "yes" << endl;
        else
            cout << "no" << endl;
    }
    return 0;
}

本回答被提问者和网友采纳
第2个回答  2014-11-04
你没有排除关键字
相似回答