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

比如在test1()这个函数中得到n的值,怎么让其在test2()中也能用#include<stdio.h>#include<string.h>#include<stdl... 比如在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;
}
展开
 我来答
kaixingui2012
推荐于2017-11-27 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6413万
展开全部
#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;
}
百度网友0ecab4f
2014-12-07 · TA获得超过1028个赞
知道小有建树答主
回答量:412
采纳率:0%
帮助的人:379万
展开全部
函数类型都是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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式