//函数调用数组
#include <stdio.h>
#include <stdlib.h>
#define N 8
//指针函数
int* creat()
{
int i;
printf("creat()函数中产生数组元素\n");
int arr[N];
for( i = 0; i < N; i++)
{
arr[i]=rand() % 100;
printf("%d\t",arr[i]);
}
return arr;
}
void print3(int arr[], int n)
{
int i;
for( i = 0; i < N; i++)
{
printf("%d\t",arr[i]);
}
}
int main(void)
{
int i;
int *p;
p=creat();
printf("\n通过函数调用返回后得到的数组\n");
print3(p,N);
getchar();
return 0;
}
在这个程序编译的时候出现了]错误——缺少“;”(在“类型”的前面),查看资料发现诸如——缺少“;”(在“类型”的前面),那是因为在变量声明之前使用了printf函数。如果先声明全部变量,再使用函数就没这些问题了
修改后再次编译时,发现又出错了——错误 2error LNK1168: 无法打开 ***.exe 进行写入,这种错误一般是上一次调试完程序没有关闭调试结果运行窗口。