C语言字符串字符统计:数字且为偶数的和
C语言字符串字符统计:数字且为偶数的和
本文将介绍一个C语言函数,利用指针统计输入的字符串中字符是数字且是偶数的和。
函数实现
void StrSum(char *st, int *sum) {
*sum = 0; // 初始化sum为0
while (*st != '\0') { // 遍历输入的字符串
if (*st >= '0' && *st <= '9' && (*st - '0') % 2 == 0) { // 判断字符是否为数字且为偶数
*sum += *st - '0'; // 如果是,将其转换为数字并加到sum中
}
st++; // 指针指向下一个字符
}
}
函数参数:
st: 字符串指针,指向输入的字符串。sum: 整型指针,指向存储统计结果的变量。
函数功能:
该函数使用指针遍历输入的字符串,判断每个字符是否为数字且为偶数。如果是,则将其转换为数字并加到 sum 指针指向的变量中。
主函数调用
int main() {
char st[100]; // 定义字符数组
int sum; // 定义整型变量
printf("请输入一个字符串:");
gets(st); // 读入字符串
StrSum(st, &sum); // 调用函数StrSum
printf("数字且为偶数的字符的和为:%d\n", sum); // 输出统计结果
return 0;
}
主函数流程:
- 定义字符数组
st来存储输入的字符串。 - 定义整型变量
sum来存储统计结果。 - 提示用户输入字符串,并使用
gets()函数读取输入的字符串。 - 调用
StrSum函数,传入字符串指针st和sum的地址。 - 在主函数中输出统计结果。
注意:
- 该函数使用了指针,通过指针修改变量的值,避免了在函数内部直接修改函数外部的变量。
- 在判断字符是否为数字且为偶数时,使用了 ASCII 码进行比较和转换。
- 使用
gets()函数读取字符串时,要注意输入字符串长度不能超过字符数组的长度,否则会导致缓冲区溢出。
总结
本文介绍了如何利用指针实现字符串中数字且为偶数字符的统计,并展示了函数的实现和主函数的调用过程。该函数可以用于对字符串进行分析处理,提取其中的特定信息。
原文地址: https://www.cveoy.top/t/topic/n34U 著作权归作者所有。请勿转载和采集!