经常有点小迷糊 2022-01-23 06:35 采纳率: 96.7%
浏览 36
已结题

atcoder提交CE,咋办?

报错:

./Main.cpp:9:25: error: use of undeclared identifier 'a'
    memset(a, 0, sizeof(a));
                        ^
./Main.cpp:9:12: error: use of undeclared identifier 'a'
    memset(a, 0, sizeof(a));
           ^
2 errors generated.

代码:

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main() {
    int n, m;
    string s;
    int v = 0;
    memset(a, 0, sizeof(a));
    cin >> n >> m >> s;
    int a[m];
    int x[m], y[m];
    for (int i = 0; i < m; i++) {
        cin >> x[i] >> y[i];
    }
    int q = 1;
    for (int i = 0; i < m; i++) {
        for (int j = x[i]; j <= y[i]; j++) {
            while (s[j] == 'A' && s[j + 1] == 'C') {
                a[i]++;
                j++;
            }
            cout << a[i] << endl;
        }
    }
    return 0;
}

展开全部

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2022-01-23 06:39
    关注

    memset(a, 0, sizeof(a));这行代码的时候,a数组还没定义呢

    #include <iostream>
    #include <cstring>
    #include <cstdio>
    using namespace std;
    int main() {
        int n, m,a[100001] = {0},x[100001].y[100001];
        string s;
        int v = 0;
        cin >> n >> m >> s;
        for (int i = 0; i < m; i++) {
            cin >> x[i] >> y[i];
        }
        int q = 1;
        for (int i = 0; i < m; i++) {
            for (int j = x[i]; j <= y[i]; j++) {
                while (s[j] == 'A' && s[j + 1] == 'C') {
                    a[i]++;
                    j++;
                }
                cout << a[i] << endl;
            }
        }
        return 0;
    }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 1月30日
  • 已采纳回答 1月23日
  • 创建了问题 1月23日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部