天天看點

程式設計練習:統計字元串中出現字元個數(函數調用)

//字元串S,長度為n的字元型一維數組a
//一維整型數組為傳回值
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int *GetCount(char *s,char a[],int n){//a是數組名,n是數組長度 
	int len,k,l;
	static int y[30]={0};//y的數組長度大于等于n
	//※※※※※※※※※※※※※※※※※※※※    
	//該數組不能是傳回函數的局部變量數組,因為局部變量數組在退出函數後會被釋放。
	//可以是全局變量,靜态局部變量,動态配置設定記憶體,以及從函數參數傳過來的數組位址。
	//※※※※※※※※※※※※※※※※※※※※
	len=strlen(s);
	for(k=0;k<len;k++){
		for(l=0;l<n;l++){
			if((*s)==a[l]) y[l]++;
		}
		s++;
	}
	return y;
}
int main(){
	int *r,i;
	char *str,x[5]={'a','b','c','d','e'};
	str=(char*)malloc(sizeof(char));
	gets(str);
	r=GetCount(str,x,5);
	for(i=0;i<5;i++){
		printf("%c出現的次數%d\n",x[i],r[i]);//*r或r[i]或*(r + i)
		//r++;
	}
	free(str);
	return 0;
}