|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 是我 于 2012-8-6 09:35 编辑
#include <stdio.h>
void main()
{
int *swap(int *p, int n);
int a[] = {1, 3, 4, 5, 6, 7, 8, 9};
int n, *pt, i;
printf("Please input a number: ");
scanf("%d", &n);
pt = swap(a, n);
for(i = 0; i <= 4; i++)
{
printf("%d\n", *(pt+i));
}
}
int *swap(int *p, int n)
{
int i, j, k, b[9];
for(i=0; i <= 7; i++)
{
j = i+1;
if(n > *(p+i) && n < *(p+j))
{
b[i] = *(p+i); i++; break;
}
else
{
b[i] = *(p+i);
}
}
b = n;
for(k = i+1; k <= 8; k++)
{
b[k] = *(p+k-1);
}
return b;
}
为什么能返回 b 数组 的地址,却不能打印出来。小甲鱼的视频里的一道题。求的是输入一个数,然后按顺序插入A 数组中。。[/i][/i]
有人说是b 数组是局部变量,但是我把它当地址返回了,不是也可以吗。
|
|