以下是我的程式碼
#include<cstdio>
int main(void)
{
int s;
while(scanf("%d",&s)==1)
{
int x=0,st[100000]={0};
if(s==0)
{
continue;
}
st[x]=s;
while(st[x]!=0)
{
x++;
scanf("%d",&st[x]);
}
for(int i=0;i<x;i++)
{
int a=0,count=0,tw[100]={0};
while(st[i]!=0)
{
tw[a]=st[i]%2;
st[i]/=2;
a++;
}
tw[0]+=1;
for(int i=0;i<a;i++)
{
if(tw[i]>1)
{
tw[i+1]+=tw[i]/2;
tw[i]%=2;
count++;
}
}
printf("%d\n",count);
}
}
}
別的地方跑都過,但送出解答卻顯示 記憶體區段錯誤!
請問一下是哪裡有錯呢?