这是我的代码:当我的数组输入输入为 10001 时。然后它也进入输入 [1]=0 的 else 块,因为我已经将条件放在外部 if(input[j]==1 )。任何机构都可以告诉我为什么会这样吗?
#include<stdio.h>
int main()
{
unsigned int tcase=0,build=0,i=0,j=0,k=0,count=0;
unsigned int input[1000];
scanf("%d",&tcase);
while(tcase--)
{
scanf("%d",&build);
for(i=0;i<build;i++)
scanf("%d",&input[i]);
for(j=0;j<build;j++)
{
if(input[j]==1)
{
if(j==0)
{ input[j+1]=1;
printf("fddf");
}
else if(j==(build-1))
{
input[j-1]=1;
printf("Gfgf");
}
else
{
input[j+1]=1;
input[j-1]=1;
printf("awGfgf");
}
}
}
for(k=0;k<build;k++)
{
if(input[k]==0)
++count;
}
printf("%d\n",count);
}
return 0;
}