- 函数fun完成的是对一个给定的字符串,统计其中数字、大小写字母及其他符号的个数的功能,在主程序中输入字符串并调用函数fun,接收并输出返回的结果。
如下就是完成这个题目的程序,但其中有一些错误,请调试通过并将错误的语句改正填写在表格中。
#include <stdio.h>
void main()
{
}int d,c,t; char str[80]; void fun(char s[],int *p1,int *p2,int *p3); printf("input a string:"); gets(str); fun(str[80],d,c,t); printf("str=%s digit=%d char=%d other=%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)++; }

C语言指针问题,请各位看看
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- 树下等苹果 2022-05-26 08:38关注
帮你调试好了
#include <stdio.h> void main() { int d, c, t; char str[80]; void fun(char s[], int* p1, int* p2, int* p3); printf("input a string:"); gets(str); fun(str, &d, &c, &t); printf("str=%s digit=%d char=%d other=%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)++; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 3无用