08华科机试第五题(判定一个C语言变量的命名是否正确)
2011-09-10 19:18
323 查看
/*(2)判定一个C语言变量的命名是否正确*/ /*对于C语言中的变量名,满足以字母开头或者下划线开头即可。至于特殊的如$这种,在VC里也没报错,但 不符合C语言命名规范.本题的实质是个编译器,本人水平不够,这里就做一个简单的匹配程序好了。*/ /*测试数据 12ab_asb 输出结果:变量命名不正确 测试数据 _qwqwe_12_qw 输出结果:变量命名正确 测试数据 _$12_qqq_22 输出结果:变量命名不正确*/ /*程序:*************************爱X的味道 *****************************/ /*这个程序参考了一下别人的,感觉就是目的性明显,没*/
#include<stdio.h> #include<stdlib.h> #include<string.h> int Match(char *str) { int i=1,j,flag=0; char *apart[]={"auto","goto","if","int","long","register","return","short","signed", "sizeof", "static", "struct", "switch", "typedef","break","case", "char","const","for", "union", "unsigned","void", "volatile", "while" "continue","default","do","double","else","enum","extern","float", }; for(j=0;j<32;j++) if( 0==strcmp(str,apart[j]) ) return 0; if( str[0]=='_' || ((str[0]>'A') && (str[0]<'Z')) || ((str[0]>'a') && (str[0]<'z')) ) flag=1; else return 0; while( (str[i]!='\0') && (1==flag) ) { if( ((str[i]>'A')&&(str[i]<'Z')) || ((str[i]>'a')&& (str[i]<'z')) || (str[i]=='_') || ((str[i]>'0')&&(str[i]<'9')) ) i++; else { // flag=0; return 0; } } return 1; } int main() { char str[100]; int result; printf("请输入一个变量名:\n"); gets(str); result=Match(str); if(1==result) printf("变量命名正确!\n\n"); else printf("变量命名不正确!\n\n"); return 0; }
相关文章推荐
- 判定一个算术表达式中的圆括号是否正确配对
- [script]判定某一个脚本是否正确执行
- C语言|构造一个简易编译器检测括号是否正确
- c语言题有一个浮点型变量x,如何判断x是否等于0
- is_scalar — 检测变量是否是一个标量 (PHP 4 >= 4.0.5, PHP 5, PHP 7)
- js如何判断一个变量是否是数组?
- 判定一个字符串是否为有效时间的函数
- 一个点是否在不规则图形内的判定
- 判断一个变量是否为空的方法
- C语言判断一个数是否是素数
- (原創) 宣告一个变量时,若没去用,是否会浪费内存? (C/C++) (C)
- 如何在Shell中判断一个变量是否为整数
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管
- 【C语言】【笔试题】【面试题】判断一个字符串是否为另外一个字符串旋转之后的字符串
- 问题:const和volatile是否可以同时修饰一个变量?有什么含义?
- C语言:【面试题】在二维数组中,每行每列都按照递增的顺序排序,判断数组中是否包含一个数。
- 写一个脚本checkipadd.sh,判断所输入的参数是否为正确的IP地址,如 果是就输出"This is ip address";如果不是就输出"This is not ip address" (1
- C语言小编程之判断一个数是否是2的n次方的巧妙方法
- C语言如何判断一个数是否为素数