要求:编写一个程序,统计字符串的小写字母个数,并将字符串中的小写转换从大写。
#include <stdio.h>
char str_fun(char *p);
int main()
{
int n;
char str[] = "hello38wentaosb";
// printf("Input a string:>");
// scanf("%s",&str);
n = str_fun(str);
printf("%d\n", n);
printf("%s\n", str);
return 0;
}
char str_fun(char *p)
{
int num = 0;
while(*p){
if(*p <= 'z' && *p >= 'a'){
num ++;
*p-=32;//大写转小写
}
p ++;
}
return num;
}
大写转换成小写:
大写字母的ASCII值比小写字母小32,大写字母的值减去32就是小写字母。
同时空格“ ”的ASCII值也是32,减去“ ”也是同样的效果;即另一种写法:
*p-=' ';