C语言 一个函数中的参数n传递到另一个函数中去

比如在test1()这个函数中得到n的值,怎么让其在test2()中也能用
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

void test1();
void test2();

void test1()
{
int n;
n=5;

}

void test2()
{
//在此处打印test1中n的值
}

int main()
{
test1();
test2();
return 0;
}

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

void test1();
void test2();

void test1()
{
int n;
n=5;
}

void test2()
{
//在此处打印test1中n的值
不可能啊!!因为test1中的n是个局部变量,在test1函数结束后,n就不存在了!
}

int main()
{
test1();
test2();
return 0;
}

追问

是的。我想这个参数在test1()中用了,在test2()中可以接着继续用,是不是要定义全局变量?或者怎么传递参数?

追答

是的,一定义成全局可以!

通过返回值或参数传递
全局的不用解释了,返回值+参数方式如下:

int test1( ) //
{
int n;
n=5;
return n ; //
}

void test2( int x)
{
//在此处打印test1中n的值
printf("%d", x ); //这里可以使用x,也就是test1中的n 了
}

int main()
{
int a;
a=test1(); //接收返回值到a
test2(a); //将a传到test2中
return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-07
函数类型都是void,不能用返回值来做。那就用全局变量吧。定义全局变量,然后再test1赋值,用test2输入。详细如下:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int n;//这里定义全局变量
void test1();
void test2();

void test1()
{
n=5;//这里对n赋值

}

void test2()
{
printf("%d",n); //在此处打印test1中n的值

}

int main()
{
test1();
test2();
return 0;
}
相似回答