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