首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

不明白为什么出错,大家帮忙看一下解决方案

2012-02-21 
不明白为什么出错,大家帮忙看一下includestdio.hintcho(intarray[30])main(){intarray[30]int*parray

不明白为什么出错,大家帮忙看一下
include   <stdio.h>
int   cho(int   array[30]);
main()
{
int   array[30];
int   *p=array;
int   k,b;
printf( "Please   enter   the   numbers:\n ");
scanf( "%d ",&array[0]);
for(k=0;array[k]   !=   0&&k <29;k++)

scanf( "%d ",&array[k+1]);
p=cho(array[30]);

printf( "It   is   :\n ");
for(b=0;*(p+k)!=0;b++)
printf( "%d ",*(p+k));

}

int   cho(int   array[30])
{
int   a,b;
for(a=0;a <30;a++)
{
if(array[a]!=2)
{
if(array[a]%2=0||array[a]%3=0||array[5]=0)
array[a]=0;
}
}
for(a=0;a <30;a++)
{
for(b=0;b <30-a;b++)
{
if(array[a+b-1]=0)
{
array[a+b-1]=array[a+b];
array[a+b]=0;
}
}
}
return(&array[0]);
}

[解决办法]
#include <stdio.h>

p=cho(array);
[解决办法]
p=cho(array);
if(array[a]%2==0||array[a]%3==0||array[5]==0)
[解决办法]
for(a=0;a <30;a++)
{
for(b=0;b <30-a;b++)
{
if(array[a+b-1]==0)
{
array[a+b-1]=array[a+b];
array[a+b]=0;
}
}
}这语句中当a=0,b=0时array[a+b-1]不正确。
for(b=0;*(p+k)!=0;b++)printf( "%d ",*(p+k));k在执行语句for(k=0;array[k] != 0&&k <29;k++)时已经值为29。在这for语句中*(p+k)!=0[*(p+29)!=0)]如果没有成立那就成了死循环

热点排行