问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言判断输入新命名的变量名是否正确

发布网友 发布时间:2023-05-24 06:31

我来回答

1个回答

热心网友 时间:2023-05-27 23:04

看你的代码太复杂了,我直接帮你写了一个,你对比一下:

#include <stdio.h>

int is_char(char c)
{
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
{
return 1;
}

return 0;
}

int is_number(char c)
{
return (c >= '0' && c <= '9');
}

int is_valid(const char *var)
{
// 变量名必须以字母或下划线开头
if (!is_char(*var) && *var != '_')
{
return 0;
}

// 后续的字符必须是数字或字母或下划线
while (1)
{
++var;
if (*var == '\0')
{
break;
}

if (!is_char(*var) && !is_number(*var) && *var != '_')
{
return 0;
}
}

return 1;
}

int main()
{
char szVar[100];

printf("Please input a variable: ");
scanf("%s", szVar);
printf("The variable is %s\n", is_valid(szVar) ? "valid" : "invalid");

return 0;
}

Linux 下编译及测试结果如下:

[root@iZ25a38chb4Z lory]# g++ teset.cpp -o test -g3 -Wall
[root@iZ25a38chb4Z lory]# ./test 
Please input a variable: _Hello2
The variable is valid
[root@iZ25a38chb4Z lory]# ./test 
Please input a variable: 2#a
The variable is invalid
[root@iZ25a38chb4Z lory]# ./test 
Please input a variable: _s$s
The variable is invalid
[root@iZ25a38chb4Z lory]# ./test 
Please input a variable: a_2
The variable is valid

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
宜昌夷陵区丶西陵区哪个区最繁华 宜昌哪些地方租房子好 宜昌CBD中心商务区项目分段定位 宜昌哪个地段房子好 奥迪a6油箱盖按键在什么位置 奥迪a6汽车加油盖按钮在哪 奥迪a6油箱盖怎么开 奥迪a6油箱盖的开关在哪里 图文结合带你搞懂MySQL日志之Error Log(错误日志) 变电站电磁辐射安全标准 ...马自达车辆搭载创驰蓝天GVC系统技术的好处是什么? GVC是什么鬼?你们知道么? 如何删除word 教你如何彻底删除word软件? 记过处分文件是12月份下发的,对干部职工的年度考核怎么算 云贵川高速费多少钱了?挂车 大家好,云贵川高速好跑不,坡大到什么程度?还有秦岭,需要注意那一点,谢谢 请问各位,6.8米云贵川跑绿通速比怎么选,多少的合适 云贵川350马力标准载速比4.111这个匹配怎么样?各位兄弟有知道的能告诉我一声吗?谢谢大家了! 无纺布是不是没有经过纺织而成的布,无纺布和水刺布有什么不同? 京东每天复制助力有什么奖励 电商大促都有奖金吗 亥年是什么年 亥年亥月亥日亥时出生 亥年亥月亥时出生是在什么时候? 四亥向是什么 亥年亥月亥时是什么? 严值高结婚了吗 东北师范大学人文学院专业排名 最好的专业有哪些 2021东北师范大学播音主持去向 广大附中初中大奥班密考多少分能进 荔湾广附密考为什么不让家长停留 广州外国语学校南沙校区小升初有密考吗 DCF估价模型是什么 2020年12月巨蟹座星座运势:一帆风顺还是命途多舛? 苏珊米勒2020年巨蟹座全年运势完整版 梦见已故父亲来看我的预兆 怎么才知道网吧什么系统 我要怎么样才可以查看到自己的网吧用的是什么系统? 招行信用卡网上银行 本期到期还款日一栏为空 为什么? 工行融e借要有信用卡吗? 工行融e借钱转到信用卡还是储蓄卡? 梦见被花貂咬了手的预兆 圣罗兰香水怎么看生产日期 工勤编制退休年龄 2020年工勤编退休年龄是多少岁 少儿平安福保险产品一年多少钱? 甲等的词性甲等的词性是什么 内向不爱说话适合学什么专业 懒人学什么专业好大神们帮帮忙 临楮的意思临楮的意思是什么 个人科研工作总结范文(精选5篇) 科研人员工作总结模板大全精选六篇