帮忙看这段代码
main()
{ int *p,n,i,t,m,a[10];
scanf("%d",&n);
for(i=1;i<=n;i++)
a[i]=i;
p=a; 这里n还是原来输入的数
for(i=1;n=0;i=i+2) 到这里怎么一下就变0了
{if(i>n)i=i-n;
n=n-1; 这都还没执行1次
t=i;
for(i=t;i<=n;i++)
(*p)=*(p+1);
}
printf("%d",*p);
}
参考答案:for(i=1;n=0;i=i+2) 到这里怎么一下就变0了 改成“for(i=1;n;i=i+2)”就可以了。
当程序执行时,要判断第二个条件是否成立,n=0为赋值而不是 布尔表达式