#include<stdio.h>
int *arr()//取址函数
{
int *p,arry[5]={1,2,3,4,5};
p=&arry[0];
return p;//输出数组首地址
}
int arr1()//取值函数
{
int *p,arry[5]={6,7,8,9,10};
p=&arry[0];
return *p;//输出数组首元素
}
int main()
{
printf("%d\n",*arr());//返回了地址
printf("%d\n",arr1());//返回了数值
int num,*site;
/*
定义一个整形数据,接受arr1的返回值
定义一个整形指针,接受arr的返回值
*/
site=arr();//返回arry[0]=1的地址
num=arr1();//返回数值6
printf("%d\n",*site);
printf("%d\n",num);
/*
for(int i=0;i<5;i++)
{
printf("%d\n",*arr()+i);
}
*/
}
#include<stdio.h>
int *arr()//取址函数
{
int *p,arry[5]={1,2,3,4,5};
p=&arry[0];
return p;//输出数组首地址
}
int arr1()//取值函数
{
int *p,arry[5]={6,7,8,9,10};
p=&arry[0];
return *p;//输出数组首元素
}
int main()
{
printf("%d\n",arr());//返回了地址
printf("%d\n",arr1());//返回了数值
int num,*site;
/*
定义一个整形数据,接受arr1的返回值
定义一个整形指针,接受arr的返回值
*/
site=arr();//返回arry[0]=1的地址
num=arr1();//返回数值6
printf("%d\n",site);
printf("%d\n",num);
/*
for(int i=0;i<5;i++)
{
printf("%d\n",*arr()+i);
}
*/
}
本来就不一样
输出的东西都不一样
会输出1和6呀