题目是编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
以下我编写的程序旁边的调试栏里,最后四行的zimu,shuzi,kongge,qita的值不会变,一直都是0。可是调试步骤又确实让它们加1了,值就是不变。想知道为什么以及怎么改
还有我想知道当返回值有多个时,return后怎么写?就是这里的字母,数字,空格,其他字符数的值返回主函数输出应该怎么操作呢
#include<stdio.h>
char tongji(char str[],int a)
{
int zimu=0,shuzi=0,kongge=0,qita=0;
for(int i=0;i<a;i++)
{
if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
zimu++;
else if(str[i]>='0'&&str[i]<='9')
shuzi++;
else if(str[i]==' ')
kongge++;
else
qita++;
}
}
int main()
{
char str[20];
int zimu=0,shuzi=0,kongge=0,qita=0;
printf("请输入字符串");
gets(str);
tongji(str,20);
printf("%d,%d,%d,%d",zimu,shuzi,kongge,qita);
return 0;
}