2 u011196964 u011196964 于 2014.03.18 18:08 提问

c程序冒泡排序,vc编译没错,但运行不了,不知道怎么回事。代码如下:

#include
#define TRUE 1
#define FALSE 0
void bubble(int a[],int length)
{
int i=1,j,temp;
int change;
do{
change=FALSE;
for(j=0;j if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
change=TRUE;
}
i+=i;
}while(i<length&&change==TRUE);
}
void main()
{
int i;
int a[10];
printf("please input 10 numbers:\n");
for(i=0;i<10;i++)
{
scanf("%d",a[i]);
}
bubble(a,10);
for(i=0;i<10;i++)
printf("a[i]=%d\n",a[i]);
}

2个回答

slamzwl
slamzwl   2014.03.18 21:10
已采纳

这个问题还是算我的吧,忘记了,我也是编译通过就给你解答了,没有运行,所以先说声sorry。对应这个问题,这是一个scanf的问题,正确的语句是scanf(“%d”,&a[i]);少了一个&符号,它是一个取址符,意在将键盘读取到的数据存放到所在地址的变量上。这次你在试一次。祝你成功

u011196964
u011196964 直接复制过来的,但有些代码却遗失。。。这样耐心地回答这样的问题,再次感谢。。。
大约 4 年之前 回复
u011196964
u011196964 啊,运行成功了,非常感谢~~
大约 4 年之前 回复
u011123497
u011123497   2014.03.18 21:13

楼上说的对,确实应该取地址

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!