社区
C语言
帖子详情
关于函数返回值的菜鸟问题
fqye
2003-07-10 04:48:52
如果想利用函数的参数带回返回值,应该怎么写呢?
比如:
void test(int a,int b,int c)
{
……
}
不用return指令。
在调用这个函数的时候想只输入a的值,b和c是输出。
...全文
66
23
打赏
收藏
关于函数返回值的菜鸟问题
如果想利用函数的参数带回返回值,应该怎么写呢? 比如: void test(int a,int b,int c) { …… } 不用return指令。 在调用这个函数的时候想只输入a的值,b和c是输出。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fqye
2003-07-10
打赏
举报
回复
WYC2300(无一从) :全局变量和局部变量怎么处理?
gunsrose
2003-07-10
打赏
举报
回复
void test(int *a,int *b,int *c)
{
……
}
或
void test(int &a,int &b,int &c)
{
……
}
这样 a,b,c 三个值都返回了1!!!!!!
WYC2300
2003-07-10
打赏
举报
回复
#include <stdio.h>
void test(int a,int * b ,int * c)
{
*b=a+1;
*c=a+2;
}
int main(int argc, char* argv[])
{
int a=1;
int b,c; /*notice*/
test(a,&b,&c); /*将变量b,c的地址传进去*/
printf("a=%d b=%d c=%d",a,b,c);
getc(stdin);
return 0;
}
除了以上的方法外还可以通过局部变量和全局变量来控制~~
zteliubin
2003-07-10
打赏
举报
回复
我不是说了怎么调用了吗,呵呵
fqye
2003-07-10
打赏
举报
回复
哦,好像这样指向了空指针,是吗?
fqye
2003-07-10
打赏
举报
回复
不懂了
int *b,*c;
test(a,b,c);
和
int b,c;
test(a,&b,&c);
传进去的不都是地址吗?为什么不一样呢?
bigtea
2003-07-10
打赏
举报
回复
应该这样调用
#include <stdio.h>
void test(int a,int * b ,int * c)
{
*b=a+1;
*c=a+2;
}
int main(int argc, char* argv[])
{
int a=1;
int b,c; /*notice*/
test(a,&b,&c); /*将变量b,c的地址传进去*/
printf("a=%d b=%d c=%d",a,b,c);
getc(stdin);
return 0;
}
fqye
2003-07-10
打赏
举报
回复
不懂了
int *b,*c;
test(a,b,c);
和
int b,c;
test(a,&b,&c);
传进去的不都是地址吗?为什么不一样呢?
fqye
2003-07-10
打赏
举报
回复
改成这样OK了
void test(int a,int * b ,int * c)
{
*b=a+1;
*c=a+2;
}
int main(int argc, char* argv[])
{
int a=1;
int b,c;
test(a,&b,&c);
printf("a=%d b=%d c=%d",a,b,c);
getc(stdin);
return 0;
}
fierygnu
2003-07-10
打赏
举报
回复
int b, c;
不是
int *b, *c;
fqye
2003-07-10
打赏
举报
回复
这样行不行?
void test(int a,int * b ,int * c)
{
*b=a+1;
*c=a+2;
}
int main(int argc, char* argv[])
{
int a=1;
int *b,*c;
test(a,b,c);
printf("a=%d b=%d c=%d",a,*b,*c);
getc(stdin);
return 0;
}
fqye
2003-07-10
打赏
举报
回复
stukov2002(卡拉是头猪) :这样写运行出错,异常。
zteliubin
2003-07-10
打赏
举报
回复
对头,tnnd,又搞错了。
*b=...;
*c=...;
xueqt
2003-07-10
打赏
举报
回复
呵呵,楼上几威都很热心
idontlikenickname
2003-07-10
打赏
举报
回复
老兄别慌啊~ :D
c:
void test(int a,int* b,int *c)
{
*b=...; // 应该如此
*c=...; // 应该如此
}
nirvana_li
2003-07-10
打赏
举报
回复
同意楼上的!!
c++中可以使用reference:
void test(int a,int &b,int &c)
zteliubin
2003-07-10
打赏
举报
回复
tmd,提交失败!
c:
void test(int a,int* b,int *c)
{
b=...;
c=...;
}
调用:test(a,&b,&c);
c++:
void test(int a,int &b,int &c)
{
b=...;
c=...;
}
调用:test(a,b,c);
够全吧,给分!
fqye
2003-07-10
打赏
举报
回复
就是说函数返回值必须用指针才能带出来?
zteliubin
2003-07-10
打赏
举报
回复
c:
void test(int a,int* b,int *c)
{
b=...;
c=...;
}
调用:test(a,&b,&c);
c++:
void test(int a,int &b,int &c)
{
b=...;
c=...;
}
调用:test(a,b,c);
够全吧,给分!
fierygnu
2003-07-10
打赏
举报
回复
倒!
C/C++是值传递,必须使用指针或引用才行。
void test(int a, int *pb, int &c)
{
*pb = 1;
c = 2;
...
}
加载更多回复(3)
菜鸟
学习C语言——结构体类型
函数
返回值
问题
本文深入探讨了C语言中
函数
返回值
类型与声明类型不匹配导致的警告
问题
。通过具体代码示例,详细解释了当
函数
返回数组首地址时,如何正确调整返回类型以避免编译器警告,提出了使用返回数组元素指针或直接返回数组元素的解决方案。
对memset
函数
的应用
博客围绕C语言的memset
函数
展开,介绍其来自
菜鸟
教程,该
函数
用于将内存区域设置为指定值,可高效初始化大块内存。说明了
函数
声明、参数、
返回值
,同时提醒使用时要注意边界检查,第二个参数取值范围及字节数计算等
问题
,还进行了结构体赋值测试。
C++
函数
返回值
,你必须注意的
问题
本文深入解析C++
函数
返回值
问题
,尤其关注栈内存的使用与潜在风险。通过实例说明如何正确理解并避免在
函数
结束后误操作栈内存导致的错误。强调了甄别内存访问权限的重要性,以及
返回值
拷贝的机制。
shell中的
函数
有
返回值
和有参数的
函数
本文通过实例演示了Shell脚本中
函数
的定义与使用,包括无参
函数
、带
返回值
函数
及带参数
函数
的实现与调用过程。通过具体代码展示了如何在Shell脚本中进行基本的数学运算和参数处理。
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章