统计字符串中各个字符的个数

来源:互联网 发布:中国导弹水平 知乎 编辑:程序博客网 时间:2024/04/30 17:53
#include<stdio.h>void fun(char *s){int h[256] = {0};while(*s){h[*s++]++;}for( int i=0;i<256;i++){if(h[i]){printf("%c的个数%d ",i,h[i]);}}}int main(void){char s[80];puts("Enter a string:");gets(s);fun(s);return 0;}


 

注意:ASCII码一共256个,刚好一个字节,char类型,8位

h[*s]就是输入字符串的第一个字符,假设为a,h['a'],'a'会隐式的转换成97,也就是h[97]++。  在《C缺陷与陷阱》中讲过,单引号引起来就是整数

s[i] == *(s + i)