C++ isalpha() 判断字符是否为字母
isalpha()
函数用于检查给定字符是否为字母。它定义在 cctype 头文件中。
示例
#include <iostream>
#include <cctype>
using namespace std;
int main() {
// 检查 '7' 是否为字母
int result = isalpha('7');
cout << result;
return 0;
}
// 输出:0
isalpha() 语法
isalpha()
的语法是:
isalpha(int ch);
这里,ch
是我们想要检查的字符。
isalpha() 参数
isalpha()
函数接受以下参数:
- ch - 要检查的字符,转换为
int
类型或EOF
isalpha() 返回值
isalpha()
函数返回:
- 如果
ch
是字母,则返回非零值 - 如果
ch
不是字母,则返回零
isalpha() 原型
isalpha()
在 cctype 头文件中定义的原型是:
int isalpha(int ch);
这里,ch
被检查是否为字母,这是根据当前安装的 C 语言区域设置分类的。默认情况下,以下字符被视为字母:
- 大写字母:
'A'
到'Z'
- 小写字母:
'a'
到'z'
isalpha() 未定义行为
如果出现以下情况,isalpha()
的行为是未定义的:
ch
的值无法表示为unsigned char
,或ch
的值不等于EOF
示例:C++ isalpha()
#include <cctype>
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[] = "ad138kw+~!$%?';]qjj";
int count = 0, check;
// 循环计算 str 中字母的数量
for (int i = 0; i <= strlen(str); ++i) {
// 检查 str[i] 是否为字母
check = isalpha(str[i]);
// 如果 str[i] 是字母,则增加计数
if (check)
++count;
}
cout << "字母字符数量:" << count << endl;
cout << "非字母字符数量:" << strlen(str) - count;
return 0;
}
输出
字母字符数量:7
非字母字符数量:12
在这个程序中,我们使用了 for
循环和 isalpha()
函数来计算 str
中字母的数量。
程序中使用的变量和代码包括:
strlen(str)
- 获取str
字符串的长度check
- 使用isalpha()
检查str[i]
是否为字母count
- 存储str
中字母的数量strlen(str) - count
- 计算str
中非字母字符的数量