gpt4 book ai didi

c - 如何在不使用 isalpha 的情况下验证 C 中的名称?

转载 作者:行者123 更新时间:2023-11-30 21:12:37 26 4
gpt4 key购买 nike

我是 C 编程的初学者,我想在不使用 isalpha 的情况下验证用户输入的名称。这可能吗?

char name[51];

puts("Please enter your name");
scanf("%[^\n]s", name);

最佳答案

尽管已经有了一个公认的答案,但我认为您可能仍然需要澄清如何解决这样的问题(而不复制某人的解决方案)。

字符串是以空终止符(“\0”字符)结尾的字符数组。知道了这一点,在获取用户输入字符串后,您可以循环遍历该字符串,直到到达“\0”字符,并测试每个字符的有效字母。

您可以使用级联 if 语句来测试字母是否存在,或者您可以使用更高效的 switch 语句(这是了解 switch 语句与级联 if 有何不同的好机会)语句,提示:switch 实际上只是计算出的 goto),或者使用循环的字母字符串(由于效率原因,我仍然更喜欢 switch 语句)。如果存在字母以外的任何内容(如 switch 语句中指定的),则只需打印一条错误消息并从函数返回一个错误代码。

如果您正在测试由空格、制表符或换行符等空格分隔的多个单词,则只需将其作为特殊条件包含在 switch 语句中即可。

关于c - 如何在不使用 isalpha 的情况下验证 C 中的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44888756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com