continue和break处报错
报错信息如下:
error: break statement not within loop or switch
代码如下:
#include
#include
int main()
{
int a[] = {1,2,3,4,5,9};
int b;
int i,j;
//求数组长度
int len = sizeof(a)/sizeof(int);
printf("原来的数组为:");
for( i=0;iprintf("%-4d",a[i]);
}
printf("\n");
printf("请输入要插入的元素:");
scanf("%d",&b);
printf("%d",b);
//插入操作
if(b>a[5])
{
a[5] = b;
}
else
{
for( i=0;i<5;i++);
{
if(a[i]continue;
}
else
{
for(j=5;j>=i;j++)
{
a[j+1] = a[j];
}
a[j+1] = b;;
}
break;
}
}
printf("后来的数组为:");
for(int i=0;iprintf("%-4d",a[i]);
}
return 0;
}
break;;和continue;;也会报同样的错误,这是什么原因?
由多个问题啊,首先是27行for循环后面多个分号,肯定错误
另一个问题是数组会越界,你这个定义方法,数组长度是6,但你插入一个新值后,数组长度实际需要7个,但你只有6个啊!!!所以改为
int a[7] = {1,2,3,4,5,9}; 千万不要偷懒了
for括号后面不要加分号,不然循环直接终止了
第27行:for( i=0;i<5;i++); 最后多了 ';' 分号,应为: for( i=0;i<5;i++)