字符统计


 1 #include "string.h"//需要使用有关字符串的相关函数,需要引用相关的头文件
 2 void func(char *t,int tar[])//函数功能为在给定的字符串中统计各个字符的出现次数
 3 {
 4     char *p = t;//    设置辅助的指针用来取当前的字符
 5     char Strmin[2] = "a";//为了使用字符串比较函数strcmp
 6     char Strmax[2] = "z";//将待比较的字符设置为字符串
 7     char Strtar[2] = "\0";//目标字符串是变量,暂且设置为空串
 8     while(*p!='\0')//当前指针的指向不为'\0'时给定的字符串尚未遍历完成
 9     {
10         Strtar[0] = *p;//强制设置字符串,首字母为当前扫描的字符
11         Strtar[1] = '\0';//紧接的字符直接设置为字符串结束标志
12         if((strcmp(Strtar,Strmin)>=0)&&(strcmp(Strtar,Strmax)<=0))
13         {
14             //调用字符串比较函数strcmp,在目标串介于两个给定的字符串之间时可以将当前扫描的字符纳入统计
15             int k = (int)(*p - 'a');//强制类型转换,将char型变量转换为int型,此处使用了hash思想
16             tar[k]++;//映射到的位置上当前的值自增1表示当前扫描的是这个位置代表的字符
17         }
18         ++p;//游标指针继续工作,指向给定字符串的下一个字符
19     }



原文地址:https://www.cnblogs.com/achievement/p/4557545.html