本题常见方就是在统计个数的函数中直接将结果输出了,因为一个函数只能又一个返回值。
所以我们定义一个数组来存放结果即可。
#include<stdio.h>
#include<string.h>
#define N 40
int main(){
void Tj(char a[],int b[]); //函数申明
char str[N]={'\0'}; //定义一个字符数组(存放输入字符串)并初始化
int i,num[4]={0}; //定义一个整型数组存放统计结果
printf("输入长度不超过%d的字符串:\n",N);
gets(str); //接收字符串
Tj(str,num); //调用统计函数
/*--结果输出表格--*/
printf("类型:\t字母\t数字\t空格\t其他\n");
printf("个数:\t");
for(i=0;i<4;i++)
printf("%d\t",num[i]);
return 0;
}
/*--统计函数--*/
void Tj(char a[],int b[]){
int i;
for(i=0;i<strlen(a);i++){
if(('A'<=a[i]&&a[i]<='Z')||('a'<=a[i]&&a[i]<='z'))b[0]++;
else if('0'<=a[i]&&a[i]<='9')b[1]++;
else if(a[i]==' ')b[2]++;
else b[3]++;
}
}