函数fun完成的是对一个给定字符串,统计其中数字,大小写字母和其他符号的个数功能,在主程序中输入字符串并调用函数fun,接收并输出返回的结果
第6行 str改 str[80]
第10行 str[80] 改str
第16行 *pd = *pc = *pt = 0;
第19行 最中间的 && 改 ||
有错误的地方好多:
#include <stdio.h>
void fun(char s[],int *p1,int *p2,int *p3);
int main()
{
int d,c,t;
char str[80];
printf("input a string:");
gets(str);
fun(str,&d,&c,&t);
printf("str=[%s]\ndigit=%d\nchar=%d\nother=%d\n",str, d, c, t);
return 0;
}
void fun(char ch[], int *pd, int *pc, int *pt)
{
int k;
*pd=*pc=*pt=0;
for (k=0;ch[k]!='\0';k++)
{
if ((ch[k]>='A'&&ch[k]<='Z')||(ch[k]>='a'&&ch[k]<='z'))
*pc += 1;
else if (ch[k]>='0'&&ch[k]<='9')
*pd += 1;
else
*pt += 1;
}
}
#include <stdio.h>
void fun(char *ch,int *p1,int*p2,int*p3);
int main()
{
int d,c,t;
char str[80];
printf( "input a string: ");
gets(str) ;
fun(str,&d,&c,&t);
printf("str=%s digit=%dchar=%dother=%d\n",str,d,c,t);
}
void fun(char* ch, int *pd,int *pc,int *pt)
{
int k;
*pd=*pc=*pt=0;
for (k=0;ch[k] !='\0' ;k++)
{
if ((ch[k]>='A'&&ch[k]<='Z')||(ch[k]>='a'&&ch[k]<='z'))(*pc)++;
else if (ch[k]>='0'&&ch[k]<='9')(*pd)++;
else (*pt)++;
}
}