这个能编译么??

来源:百度知道 编辑:UC知道 时间:2024/06/07 03:48:28
#include<stdio.h>
main()
{
int a[]={2,4,6,7,45,60,67};
int x,i,n=6;
scanf("'%d",&x);
for(i=n;i>=0;i--)
if(a[i]>x)
a[i+1]=a[i];
else
break;
a[i+1]=x;
n++;
for(i=0;i<=n;i++)
printf("%d",a[i]);
getch();} 奇怪,照书弄的,为什么编不出来呢??
插入一个数,使原来数组增加一个数字,按顺序排列~
郁闷死了,还弄不出来,哪位大哥帮忙改改...怎么才能正确~谢了

#include<stdio.h>
main()
{
int a[]={2,4,6,7,45,60,67};
int x,i,n=6;
scanf("'%d",&x);
for(i=n;i>=0;i--)
{if(a[i]>x)
a[i+1]=a[i];
else
break;
a[i+1]=x;}
n++;
for(i=0;i<=n;i++)
printf("%d",a[i]);
getch();}

你的目的是什么?
看这里
a[i+1]=a[i];
i=6??????
没有a[7]供存储!!!!!!!!!

#include<stdio.h>
void main()
{
int a[]={2,4,6,7,45,60,67};
int x,i,n=6;
//scanf("'%d",&x);打错了
scanf("%d",&x);
for(i=n;i>=0;i--)
if(a[i]>x)
a[i+1]=a[i]; //i==n时,a[i+1]越界
else
break;
a[i+1]=x;
n++;
for(i=0;i<=n;i++)
printf("%d",a[i]);
//getch();
getchar();
}

scanf("'%d",&x);
多了一个',输入错误;)