(1)求一个字符串长度 (2)在一个字符 串中统计大写字母的个数 (3)在一个字符串中统计数字字符的个数
#include <stdio.h>
未使用的len参数,因为字符串以 '\0' 结尾,不需要长度参数
// (1) 计算字符串长度(不需要len参数)
int string_length(const char *str)
{
const char *p = str; //
while(*p) p++;//将指针移动到'\0'那个元素位置,然后退出循环
return p - str; //str是第一个元素的地址,此时p是'\0'那个元素位置,相减的得元素个数;
}
// (2) 统计大写字母个数
int count_uppers(const char *str)
{
int count = 0;//从0开始记数
while(*str) { //直到指针移动到'\0'处,则退出循环
if(*str >= 'A' && *str <= 'Z') count++; //若是大写字母,则数量+1
str++;//指针向后移动,再去判断下一个元素;
}
return count;
}
// (3) 统计数字字符个数
int count_digits(const char *str)
{
int count = 0;
while(*str) {
if(*str >= '0' && *str <= '9') count++;
str++;
}
return count;
}
int main()
{
char arr[] = "Kyire123";
// (1) 计算字符串长度
int len = string_length(arr);
printf("字符串长度: %d\n", len);
// (2) 统计大写字母
int uppers = count_uppers(arr);
printf("大写字母个数: %d\n", uppers);
// (3) 统计数字字符
int digits = count_digits(arr);
printf("数字字符个数: %d\n", digits);
return 0;
}