m0_64318675 2022-05-26 04:44 采纳率: 100%
浏览 136
已结题

C语言指针问题,请各位看看

  1. 函数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)++;
     }
    
    }
  • 写回答

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)++;
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 6月3日
  • 已采纳回答 5月26日
  • 创建了问题 5月26日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭