|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 saoqing 于 2018-11-14 13:59 编辑
//Main.c文件
#include<stdio.h>
void print(int n)
{
printf("%d\n", n);
}
int* print2(int n, int m, char a)
{
printf("print2 %d\t%c\n", n+m,a);
//char c = a;
int n1 = n;
return &n1;
//return &n;
}
int main() {
//funParn("int-int-int","");
fun(10, print2);
return 0;
}
//test.c文件
#include<stdio.h>
#include < stdarg.h>
typedef (*P)();
void fun(int n, P print)
{
int i;
for (i = 0; i < n; i++)
{
char a = 'a';
double r;
int *q;
q=print(i,i,a);
r = i + i;
if (*q == i)
{
printf("====");
}
printf("%d\n", *q);
a++;
}
}
为什么在main.c中直接return &n
和在main.c中将n的值赋给n1再return &n1
两个结果不一样
第一张图是return &n1
第二张图是return &n
n1
|
|