memset大法好

P1320 压缩技术(续集版)

chensirui @ 2020-04-15 11:33:24

为什么我的代码去掉memset就爆0,加上memset就AC? 蒟蒻代码如下


#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int main()
{
    char a;
    char b='0';
    int cnt;
    int x[300];
    //memset(x,0,sizeof(x)); 坑坑坑
    int i=0;
    int n=0;
    while(cin>>a)
    {
            cnt++;
            if(a==b)
            {
                x[i]++;
            }
            else
            {
                x[++i]++;
                b=a;
            }
    }
    cout<<sqrt(cnt)<<' ';
    for(int j=0;j<=i;j++)
    {
        cout<<x[j]<<' ';
    }
    return 0;
}
不是数组初始化也是0吗????

by Karry5307 @ 2020-04-15 11:34:04

@chensirui 在 main() 就不是


by xhQYm @ 2020-04-15 11:34:17

全局变量才是0


by iMya_nlgau @ 2020-04-15 11:34:33

全局的数组才初始化为0


by xhQYm @ 2020-04-15 11:34:33

定义再main()里头值貌似是随机的


by zhjxaoini @ 2020-04-15 11:35:51

@chensirui 在栈里就不是,除非你写成 int x[300]={};


by btng_smith666 @ 2020-04-15 11:41:00

终于知道memset0神仙名字的来历了。。。


by Aw顿顿 @ 2020-04-15 11:42:27

@btng_smith666 那我是不是要zyx


by iMya_nlgau @ 2020-04-15 11:46:02

不用memset就爆0 = memset0 ?


by zzy2333 @ 2020-04-15 11:50:07

memset0


by Alan_Zhao @ 2020-04-15 11:59:00

@memsetO


| 下一页