以下是我在比赛中的代码,我刚刚开始做这些事情。所以当我在xcode中编译它时它很好但是当我在终端编译它时它给出了错误。有人可以发现错误。
#include<stdio.h>
int main()
{
int n, i,count=0,ans,prev=0;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
if(a[i]==0)
ans++;
else if(a[i]==3)
{
if(i>=1)
{if(a[i-1]==1||a[i-1]==2)
prev=a[i-1];
}
count++;
}
else if(a[i]==2||a[i]==1)
{if(i!=0){
if(a[i]!=prev&&((count-1)%2)==0)
ans++;
if(a[i]==prev&&(count%2)==0)
ans++;
prev=a[i];
count=0;}
}
}
printf("%d",ans);
}
答案 0 :(得分:0)
查看代码我可以看到一些错误
scanf
来电的返回值return the number of values parsed ans
无法保证初始化为0
它可能是任何值(我猜想在Xcode中运行它或者调试器会初始化它)