C函数实现返回多个值的方法
生活随笔
收集整理的這篇文章主要介紹了
C函数实现返回多个值的方法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
C語(yǔ)言中,一個(gè)函數(shù)最多只能實(shí)現(xiàn)一個(gè)返回值。
int func (int b) { int a=5; if (a>b) return a; else return b; return 0; }
而在實(shí)際操作過(guò)程中,我們需要調(diào)用一個(gè)函數(shù),實(shí)現(xiàn)得出幾個(gè)不同結(jié)果的情況。
(1)函數(shù)返回一個(gè)數(shù)組,然后再解析數(shù)組中的每個(gè)數(shù)值的意思。
(2)指針作為參數(shù),承載所要輸出的值。
在這里調(diào)用一次函數(shù)得到來(lái)個(gè)值,即area和volume。注意函數(shù)中形式。
意外收獲:定義宏IN,OUT來(lái)說(shuō)明每個(gè)參數(shù)是輸入?yún)?shù)還是輸出參數(shù),形同硬件的應(yīng)用。
在VC++有許多這種方法的應(yīng)用:
#include <stdlib.h> long strtol( const char *start, char **end, int base ); **end是指向指針的指針功能:函數(shù)返回帶符號(hào)的字符串start所表示的長(zhǎng)整型數(shù)。參數(shù)base代表采用的進(jìn)制方式。指針end 指向start所表示的整型數(shù)之后的部分。如果返回值無(wú)法用長(zhǎng)整型表示,函數(shù)則返回LONG_MAX或LONG_MIN. 錯(cuò)誤發(fā)生時(shí),返回零。
#include<stdio.h> #include<stdlib.h>int main() {char* p = NULL;long n3 = strtol("129gg", &p, 8); // n3 = 10printf("%d\n%s\n",n3,p);return 0; }在這里將“129gg”中數(shù)字認(rèn)為是八進(jìn)制,則012,十進(jìn)制輸出為10,p指向“9gg”
總結(jié)
以上是生活随笔為你收集整理的C函数实现返回多个值的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: lucene分布式索引
- 下一篇: Arrays.deepToString的