#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[20]={0};
int i,b;
for(i=0;;i++){
scanf("%d",&b);
if(b!=-1) a[i]=b;
printf("a[%d]=%d\n",i,a[i]);
if(b==-1) break;
}
}
为什么会这样?
怎么改?
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[20]={0};
int i,b;
for(i=0;;i++){
scanf("%d",&b);
if(b!=-1) a[i]=b;
printf("a[%d]=%d\n",i,a[i]);
if(b==-1) break;
}
}
为什么会这样?
怎么改?
因为前面那个给变量n读取整数的sccanf读取掉一个整数了,所以后面的scanf少了一个数,修改了一下,如下:
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[20]={0};
int i,b;
for(i=0;i<n;i++){
scanf("%d",&b);
if(b!=-1)
a[i]=b;
printf("a[%d]=%d\n",i,a[i]);
if(b==-1)
break;
}
}