#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;
#include<stdlib.h>
int* func(){
static int n[10];
int *p;
p=n;
for(int i=0;i<10;i++){
*p=rand();
p++;
}
return n;
}
int main(int argc, char* argv[])
{
int* (*p)()=func;
int* arr;
arr = (*p)();
for(int i=0;i<10;i++){
printf("%d\n",*arr);
arr++;
}
return 0;
}
上面的代码也可以这么写
#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;
#include<stdlib.h>
int* func(){
static int n[10];
int *p;
p=n;
for(int i=0;i<10;i++){
*p=rand();
p++;
}
return n;
}
int main(int argc, char* argv[])
{
int* (*p)()=func;
int* arr;
arr = p();
for(int i=0;i<10;i++){
printf("%d\n",*arr);
arr++;
}
return 0;
}
输出的结果都一样
41
18467
6334
26500
19169
15724
11478
29358
26962
24464