|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 fastwang 于 2021-6-1 14:12 编辑
/*符串中字母、数字、空格和其他符的个数,在主函数中输入字符串
以及输出上述的结果。*/
#include<stdio.h>
#include<string.h>
int *tongji(char strs[])
{
static int jieguo[4]={0,0,0,0}; /*把这里设置成静态数组,完美解决*/
int i;
for(i=0;i<strlen(strs);i++)
{
if((strs[i]>='a' && strs[i<='z']) || (strs[i]>='A' && strs[i]<='Z'))
{
jieguo[0]++;
}
else if(strs[i]>='0' && strs[i]<='9')
{
printf("进入这里了吗?\n"); //这里能打印
jieguo[1]++; //这里结果是0
}
else if(strs[i]==' ')
{
jieguo[2]++;
}
else
{
jieguo[3]++;
}
}
return jieguo;
}
int main()
{
char strs[100],ch;
int i=0;
printf("输入字符串:");
while((ch=getchar())!='\n')
{
strs[i]=ch;
i++;
}
printf("%s\n",strs);
int *jieguo=tongji(strs);
printf("输入了%d个字符\n",jieguo[0]);
printf("输入了%d个数字\n",jieguo[1]);//其他的统计结果显示正常,唯独这个始终是0;
printf("输入了%d个空格\n",jieguo[2]);
printf("输入了%d个符号\n",jieguo[3]);
return 0;
}
fastwang 发表于 2021-5-30 00:15
初学者,问题是我判断数字的时候是进去了的,都能打印文字,但是后面代码jieguo[1]++; 没有执行;
子程序的内部数组是不能被返回的
|
|