帮我解决一下一个C语言问题,哪儿错了???

来源:百度知道 编辑:UC知道 时间:2024/05/16 10:12:08
#include <stdio.h>//这个题是课本第十章的10.4题,不知怎么的运行时运行总是错了??????

#include <string.h>
void main()
{
void move(int array[20],int n,int m);
int number[20],i,n,m;
printf("How many numbers ?:");
scanf("%d",&n);
printf("Input the numbers:\n");
for(i=0;i<n;i++);
scanf("%d",&number[i]);
printf("How many place you want to move :\n");
scanf("%d",&m);
move(number,n,m);
printf("Now they are:\n");
for (i=0;i<n;i++)
printf("%d ",number[i]);
printf("\n");
}
void move(int array[20],int n,int m)
{
int *p,array_end;
array_end=*(array+n-1);
for(p=array+n-1;p>array;p--)
*p=*(p-1);
*array=array_end;
m--;
if(m>0)
move(array, n,m);
}

#include <string.h>
void main()
{
void move(int array[20],int n,int m);
int number[20],i,n,m;
printf("How many numbers ?:");
scanf("%d",&n);
printf("Input the numbers:\n");
for(i=0;i<n;i++);
scanf("%d",&number[i]);
这里多了一个分号,应该是
for(i=0;i<n;i++)
scanf("%d",&number[i]);

ps 你不#include <stdio.h> 能编译通过?

改了下 你自己看看吧
#include<stdio.h>
#include<string.h>
void main()
{
void move(int array[],int n,int m);
int number[20],i,n,m;
printf("How many numbers ?:");
scanf("%d",&n);
printf("Input the numbers:\n");
for(i=0;i<n;i++)
scanf("%d",&number[i]);
printf("How many place you want to move :\n");
scanf("%d",&m);
move(number,n,m);
printf("Now they are:\n");
f