Tommao444 2022-04-28 12:34 采纳率: 50%
浏览 721
已结题

编写一个程序,输入一个字符串str(长度不超过30)和一个字符ch,通过指针查找、统计字符串str中字符ch出现的位置(区分大小写)。

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

void ooo(char* a, char* b, int* j, int *c)
{
    int l = 0;
    int i;
    for (i = 0; i < 30; i++)
    {
        if ((*b) == (*(a + i)))
        {
            *c = ( * c) + 1;
            j[l] = i;
            l++;
        }
    }
}

int main()
{
    int i = 0;
    int c = 0;
    int j[30] = { 0 };
    char a[30];
    char b;
    gets(a);
    scanf("%c", &b);
    ooo(a, &b, j ,&c);
    if (c == 0)
        printf("NULL");
    else
    {
        for (i = 0;i<c; i++)
        {
            printf("%d ", j[i]);
        }
    }

    return 0;
}


运行结果及报错内容

在学校的动态测试上一直报错

我的解答思路和尝试过的方法

请问一下我这个代码有问题吗

我想要达到的结果
  • 写回答

2条回答 默认 最新

  • fuill 2022-04-28 13:34
    关注

    修改如下

     
    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
     
    void ooo(char* a, char b, int* j, int *c)
    {
        int l = 0;
        int i;
        for (i = 0; i < 30; i++)
        {
            if ( b == (*(a + i)))
            {
                *c = ( * c) + 1;
                j[l] = i;
                l++;
            }
        }
    }
     
    int main()
    {
        int i = 0;
        int c = 0;
        int j[30] = { 0 };
        char a[30];
        char b;
        gets(a);
        scanf("%c", &b);
        ooo(a, b, j ,&c);
        if (c == 0)
            printf("NULL");
        else
        {
            for (i = 0;i<c; i++)
            {
                printf("%d ", j[i]);
            }
        }
        return 0;
    }
     
     
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月19日
  • 已采纳回答 5月12日
  • 创建了问题 4月28日

悬赏问题

  • ¥15 聚类分析或者python进行数据分析
  • ¥15 如何用visual studio code实现html页面
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?