题目是 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。写一个函数实现以上功能,在主函数中输入n个整数和输出调整后的n个数。(就是分成两部分数字后倒置)
想知道为什么输入数据后输出结果为空白
#include<stdio.h>
int chuli(int *p,int n,int m)
{
int str1[m],str2[n-m];
for(int i=0;i<m;i++)
{
str1[i]=*(p+n-m);
}
for(int i=0;i<n-m;i++)
{
str2[i]=*(p+i);
}
for(int i=0;i<m;i++)
*(p+i)=str1[i];
for(int i=0;i<n-m;i++)
*(p+i+m)=str2[i];
}
int main()
{
int str[9];
printf("请输入数据");
for(int i=0;i<9;i++)
{
scanf("%d",str[i]);
}
chuli(str,9,3);
printf("输出结果为");
for(int i=0;i<10;i++)
{
printf("%d ",str[i]);
}
return 0;
}