十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
函数的返回值顶多是一个数,通过函数直接返回的这个数只有在是指针时才能给出多个数据结果。
公司主营业务:成都网站设计、做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出雨山免费做网站回馈大家。
可以考虑以下几个方法:
返回指针:
int* display() { int *p; p=malloc(sizeof(int)*6); ... return p; } //用p[0]~p[5]计算各位
void main() { int *p; p=display(); ... free(p); }
使用全局变量:将shiwa,wa,qiao,bai,shi,ge定义成全局变量,然后子程序和主程序直接用
使用函数参数:
void display(int* shiwa,int* wa,int* qiao,int* bai,int* shi,int ge)
函数中用类似这样的用法计算:(*ge)=Data%10;
void main() { int shiwa,wa,qiao,bai,shi,ge; display(shiwa,wa,qiao,bai,shi,ge) }
用一个足够长的数返回:
long display() { long n; ... n=shiwa; n*=10; n+=wa; n*=10; n+=qiao; n*=10; n+=bai; n*=10; n+=shi; n*=10; n+=ge; return n; }
void main() { int wa; long n; n=display(); wa=n/10000; wa%=10; }
如果函数在正常结束后返回主函数,则不用额外添加任何语句,到函数结束后自动返回主函数;
如果是在函数中间某个分支处需要直接退出函数返回到主函数,则可以添加return;语句行,程序执行到这一语句后,就会立即返回到主函数。当然也可以通过让分支跳转到函数末尾的地方来返回主函数。
c语言怎样从分函数回到主函数的方法。
如下参考:
1.通过使用指针,在调用函数时,传递一个地址参数并使用指针更改其值;因此,修改后的值成为原始参数,如下所示。
2.使用指针返回的结果如下图所示。
3.使用structure:由于结构是用户定义的数据类型,因此可以定义一个包含两个整型变量的结构,在这些变量中存储越来越大和越来越小的值,然后使用该结构的值。
4.通过使用这个结构,下面显示的结果将返回,如下图。
5.通过使用数组,当数组作为参数跟踪传递时,基地址将传递给函数,因此对数组副本所做的任何更改都将更改为原始数组,如下图。
6.通过使用数组,返回的结果如下图所示。
直接跳回一个地方 C用setjmp, longjmp C++则用try catch throw的异常处理机制 return则返回调用的函数举一个C++的例子,函数从funcB直接返回了主函数main: int funcA() { int a; funcB(); //之后的语句都不会执行 a = 1; a *= 2; return a; } void funcB() { throw int(0); } int main() { int r = 0; try { r = funcA(); } catch (...) { // 该程序直接跳到这里 // r仍然等于0 } return 0; }
C++可以通过异常处理的throw和catch来实现从子函数的子函数直接返回主函数,汇编语言可以用jmp指令跳转实现这个需求。
C语言主要靠函数调用和return在函数之间切换,很难做到在多层调用中直接返回主函数。虽然goto语句可以无条件跳转,但是必须在同一个函数中使用。
因此解决的方法也是用一个特殊的值作为需要返回的标志,然后在两层调用函数中都遇到该值就返回,但是这个方法也有两个前提:
1)你的两个子函数都是由返回值的函数
2)你选择的特殊值和函数正常的返回的取值不会冲突,不会引起二义性。
因此建议你的这个问题还是用C++ 的异常去解决比较好。
没有完全的定义!返回值是返回到你调用它的那个位置,有的可以无返回值的,即空返回值,要知道一百个专家解决同一个问题,可以得出一百个不相同的正确答案!