社区首页 >问答首页 >C-返回堆栈上的2个值

C-返回堆栈上的2个值
EN

Stack Overflow用户
提问于 2013-01-03 10:17:32
回答 1查看 150关注 0票数 2

可能重复: returning multiple values from a function

我已经卡在点上,返回了2个值到堆栈。我的任务是编写一个计算复数的程序。一切都很好,但只有一件事。在将数除以数的函数中,我想做两个例子:

  1. 如果我所除以的数不等于0,只需除数并将结果作为一个值返回。
  2. 如果数字被wchich除以等于0,我想返回2个值。

对于复数,我使用结构(双实数和双虚数)。我使用的函数是复数结构的类型。通过函数返回,我只能返回一个值。如何返回第二个在堆栈中具有与除法前相同数量的数字?我知道我应该使用指针,但我仍然不知道如何在这里使用它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-03 10:23:10

由于您已经有了一个复数的结构(我将称之为complex),所以您可以只返回以下实例:

代码语言:javascript
代码运行次数:0
复制
struct one_or_two_complexes { 
     int howmany; 
     struct complex first; 
     struct complex second; 
};

这是否是个好主意,可能取决于要求调用者如何使用它。

在调用方确实知道除数不是零的情况下,他们可以只编写complex result = your_function(a,b).first;,这很好。

如果调用方不确定,并且希望根据函数调用是否为零执行不同的操作,则可以将函数调用的结果存储在自己的one_or_two_complexes实例中,然后检查howmany,或者可以自己检查传入的除数是否为零,并在不同的情况下以不同的方式调用函数。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14144773

复制
相关文章
【Android 应用开发】Activity 返回堆栈清除操作 ( 默认状态 | 清除返回堆栈配置 | 不清除返回堆栈配置 | 清除指定界面配置 )
① 长时间挂起任务 : 如果任务长时间在后台挂起 , 系统会清除 该任务返回堆栈中除 根 Activity ( 栈底元素 ) 之外的其它 Activity 界面 ;
韩曙亮
2023/03/27
1.1K0
【Android 应用开发】Activity 返回堆栈管理 ( 阶段总结 | 任务栈管理 | 返回堆栈 | 清除返回堆栈 | 亲和性 | 启动模式补充 | standard | singleTop )
1 . 官网 activity 配置文档 : AndroidMainifest.xml 中 Activity 标签设置参考 , 详细地列出了 <activity /> 标签可以设置的
韩曙亮
2023/03/27
1.8K0
【Android 应用开发】Android 返回堆栈 与 任务
① 任务 : Android 中的任务就是 Android 应用 与 用户进行交互的 Activity 界面集合 ;
韩曙亮
2023/03/27
5560
【Android 应用开发】Android 返回堆栈 与 任务
ExecuteScalar()_getchar的返回值
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说ExecuteScalar()_getchar的返回值,希望能够帮助大家进步!!!
Java架构师必看
2022/06/19
1.7K0
JS|函数的返回值
这个看似能输出结果,实则是在逻辑上是不合理的,我们函数是做某件事或者实现某种功能,而在上面的代码中,函数提供了‘aru’,结果自己却把该参数给输出了。这好比是鸡生了蛋,自己却把蛋给吃了。那我们吃蛋壳吗?所以,接下来我会介绍一种逻辑更严谨的代码。
算法与编程之美
2020/03/12
11.4K0
返回指针值的函数(2)
请自己理解,比较简单 /**对前面那个问题,输出有不及格成绩的学生的所有成绩**/ #include <stdio.h> #include <stdlib.h> int main() { float a[3][4]={{50,99,80,50},{55,60,85,90},{10,54,74,26}}; float *p; float *aa(float (*pt)[4]); int i; for(i=0;i<3;i++) { p=aa((
谙忆
2021/01/19
2.6K0
printf函数的返回值!
这样的题目第一眼看上去有一点懵,其实它考的就是printf函数的返回值,及输出字符的个数。 输出结果
lexingsen
2022/02/24
3.3K0
[Python基础06]函数的参数&返回值
我们通常在进行一些功能处理的过程中,需要执行一行或者多行代码来完成整个业务流程的处理,如:
周小董
2022/04/12
4K0
[Python基础06]函数的参数&返回值
ExecuteScalar 返回值
Execute=执行; scalar=数量; so, 从字面意思来讲,可将ExecuteScalar 和ExecuteNonQuery对比来学习。 ExecuteScalar()方法的作用是: 执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。
全栈程序员站长
2022/09/14
1.9K0
函数的变量+返回值
函数的变量: 局部变量 和 全局变量 Python中的任何变量都有特定的作用域 在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用的变量我们称之为局部变量 在一个文件顶部定义的变量可供文件中的任何函数调用,这些可以为整个程序所使用的变量称为全局变量 (1)、局部函数: #!/usr/bin/python def fun(): x = 100 ##定义一个内部的函数是 x = 100,只在fun() 内部有效。 print x fun() 执行结果: [[e
老七Linux
2018/05/31
4.9K0
controller方法的返回值
需要方法结束时,定义ModelAndView,将model和view分别进行设置。
用户10325771
2023/03/14
2K0
controller方法的返回值
函数的多个返回值
def func1(): # return 值1,值2 --- return有一个作用是打断程序的运行 return 1 + 1 , 2 + 2, 3+4 num1,num2,num3 = func1() print(func1()) print(num1) print(num2) print(num3)
汪凡
2018/05/29
5.6K0
函数的return(返回值)
return之后,函数就停止,return之后的语句将不执行,但是php也不会报错。
十月梦想
2018/08/29
3.7K0
返回指针值的函数(1)
/**有a个学生,每个学生有b门课程的成绩。要求在用户输入学生序号以后, **/ #include <stdio.h> #include <stdlib.h> int main() { float *aa(int (*p)[4],int n); float a[3][4]={{50,99,80,50},{55,60,85,90},{10,54,74,26}}; float *pt; int k; scanf("%d",&k); pt=aa(a,k);
谙忆
2021/01/19
2.3K0
PHP方法的返回值
不仅是PHP,大部分编程语言的函数或者叫方法,都可以用return来定义方法的返回值。从函数这个叫法来看,本身它就是一个计算操作,因此,计算总会有个结果,如果你在方法体中处理了结果,比如进行了持久化保存,那么这个函数就不用返回任何内容。而计算的结果是要给外部使用的,这时候就要将计算结果进行返回了。
硬核项目经理
2020/02/17
7.7K0
对象的传值与返回
对象的传值与返回 说起函数,就不免要谈谈函数的参数和返回值。一般的,我们习惯把函数看作一个处理的封装(比如黑箱),而参数和返回值一般对应着处理过程的输入和输出。这种情况下,参数和返回值都是值类型的,也就是说,函数和它的调用者的信息交流方式是用过数据的拷贝来完成,即我们习惯上称呼的“值传递”。但是自从引入了“引用”的概念后,函数的传统模型就不再那么“和谐”了。引用的传递可以允许函数和调用者共享数据对象,它们之间的信息交流不再使用信息拷贝的方式,而是使用更有效率的信息共享的方式,引用导致函数的参数并有输入和输出
Florian
2018/02/05
2.5K0
对象的传值与返回
python函数的返回值
返回值:return 1.没有返回值     #不写return     #只写return:结束一个函数     #return None 2.有一个返回值     #可以返回任何数据类型     #只要返回就可以接收到     #如果在一个程序中有多个返回值,只执行一个(只要执行了return,函数就结束了) 3.有多个返回值     #用多个变量接受,有多少个返回值就有多少个变量     #用一个变量接受:接收到的是一个元祖(Python解释器)
py3study
2020/01/19
3.4K0
7.5 返回指针值的函数
例如“int *a(int x,int y);”a是函数名,调用它以后能得到一个int *型的指针,即整型数据的地址
小林C语言
2019/08/09
1.8K0
php递归函数返回值返回不出的问题
发现无论如何,函数的打印结果是正确的,到return的时候只能打印一个null,一直改都没法解决
仙士可
2019/12/18
4.5K0
Go:命名返回值和直接返回值的使用与潜在隐患
在这个例子中,虽然给命名返回值result赋值了,但最终函数却直接返回了a + b的计算结果,而不是result的值。
运维开发王义杰
2023/08/21
3120
Go:命名返回值和直接返回值的使用与潜在隐患

相似问题

堆栈上的Const C-字符串?

47

C-返回值的Malloc

12

C- Gdb不让我看到堆栈内存中的值

10

C-对main的返回值

64

C-返回状态/值的适当范围

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文