c語言中怎麼返回
① c語言中怎樣返回一個數組
在C語言中,無法直接返回一個數組,但是可以通過返回對應類型指針的方式,返回數組。
在大多數情況下,一維數組和一維指針是可以通用的。
比如,定義一個函數,申請一定長度的整型動態數組,其長度用參數傳入,並將結果返回。如出錯,返回空指針NULL。 代碼可以寫成如下形式:
int*int_array_create(intn)//參數n為數組元素個數
{
int*r;
if(n<=0)returnNULL;//參數錯誤
r=(int*)malloc(sizeof(int)*n);//申請內存空間,大小為n個int長度。
returnr;//返回得到的整型數組的指針。
}
② c語言return的用法
return是返回值,這個返回值是和函數的類型有關的,函數的類型是什麼,他的返回值就是什麼。return 語句可以有多個,可以出現晌枝在函數體的任意位置,但是每次調用函數只能有一個 return 語句被執行,所以只有一個返回值(少數的編程語言支持多個返回值,例如Go語言)。
(2)c語言中怎麼返回擴展閱讀
函數一旦遇到 return 語句就立即返回,後面的所有語句都不會被執行到了。從這個角度看,return 語句還有強制結束函數執行的.作用。野蘆
return 語句是提前結束函數的唯一辦法。return 後面可以跟一份數據,表示將這份數據頌謹帶返回到函數外面;return 後面也可以不跟任何數據,表示什麼也不返回,僅僅用來結束函數。
③ C語言如何返回值
首先說明一下你的程序的問題與缺陷:
1: return語句 只能返回一個值,而不能寫成 「return h,l;」
2:你在main()中定義了h,l,而在調用cal()時,又定義了h,l,這兩個h,l是完全不同的兩組。即使你為cal()里的h,l賦值,那麼返回到main()時,h,l仍然為0.
3:你在cal()里的scanf寫的不好。兩個%d之間最好什麼都沒有,加了逗號,可能會在讀取時,h,l賦值錯誤。(具體請看我下面的程序)
下面是我的解法:
先問一下,你用的是TC2.0還是VC6.0?
如果是VC6.0,那麼可以使用引用類型:
/*法一:使用引用*/
#include<stdio.h>
voidcal(int&ch,int&cl);/*聲明ch,cl為引用類型*/
voidmain()
{
inth=0,l=0;
cal(h,l);/*這里將h,l傳入cal()*/
printf("%d,%d",h,l);
}
voidcal(int&ch,int&cl)
{
scanf("%d%d",&ch,&cl);/*這里為ch,cl賦值*/
}
TC2.0中好像不支持引用類型。我沒測試。
-------------------------
如果是TC2.0,那麼可以使用指針:
/*法二:使用指針*/
#include<stdio.h>
voidcal(int*ph,int*pl);/*這里將ph,pl聲明為指針*/
voidmain()
{
inth=0,l=0;
cal(&h,&l);/*將變數h,l地址傳過去。*/
printf("%d,%d",h,l);
}
voidcal(int*ph,int*pl)
{
scanf("%d%d",ph,pl);/*為ph,pl賦值*/
}
------------------
以上兩種方法都可以解決你說的問題。
有問題請追問。
④ c語言函數如何返回多個值
c語言察弊函數只能最多有一個返回值。我們以一個數據運早枯算函數作為實例講解:
使用指針返回額外數據:定義指針參數,將結果通過指針返回。
如果有很多類型相同的數據,如何返回數組呢?c語言也只能藉助指針返回數組。
使用結構體返回:如果返回多個數據,並且各個數據類型都不相敗睜族同。那麼只能通過結構體返回。
使用結構體指針返回:直接返回結構體,程序執行效率會受到影響。因為需要復制結構體數據,如果結構體數據比較大,復制操作會損耗程序性能。
通過使用結構體指針,我們也可以返回多個數據結果。
在c++中,除了使用指針,通常使用引用返回多個數據。與指針相比,使用引用時不用擔心函數調用者傳入不符合預期的指針。
⑤ c語言 如何返回上一步驟
1、可以用while循環,一個菜單一個while循環,while循環里在套一個while循環;
2、例如:
cout<<"請選擇:";cin>>choice;
switch(choice)
{
case'1':
{
while(run1)
{
cout<<"請選擇:";cin>>x;
switch(x)
{
case'1':
{
}
break;
case'2':
{
}
break;
case'0'://選擇0是級可返回主菜單
{
run1=0;
}
break;
}
}
break;
case'2':
{
}
break;
case'3':
{
}
break;
}
⑥ c語言如何返回菜單
1、如果只是想返回已經寫好的主菜單頁面的殲悔團話
可以直接在當前函數中結束位置調用主菜單所在的函數,如果想輸入某值返回的話
就加個輸入提示
比如
在其他函數頁面加上「輸入0返回主菜單」就可以在任意時候
輸入0來返回
當然實現的時候也是輸入語句加判斷語句
加調用主菜單所在函數,調用前先氏橘調用清屏函數。
2、常式:
#include
int menu()
{ int rt;
char str[256];
printf("1 ****\n");
printf("2 ****\n");
printf("3 ****\n");
printf("4 ****\n");
printf("5 退出程序\n");
printf("請選擇,輸入選項前前侍面的數字後回車: "); scanf("%s",str);
if ( str[0]>='1' && str[0]<='5' ) rt=str[0]-'0'; else rt=0;
return rt;
}
void f1() {}
void f2() {}
void f3() {}
void f4() {}
void main()
{ int s,loop=1;
while ( loop )
{ s=menu();
switch ( s )
{ case 1: f1(); break;
case 2: f2(); break;
case 3: f3(); break;
case 4: f4(); break;
case 5: loop=0; break;
default: break;
}
}
}
⑦ 用c語言編輯的程序面板怎麼返還
用c語言編輯的程序面板按return返回;
示從被調冊數用函數返回主調函數繼續執行,返回時可附帶一個返回值,由return後面州手首的參數設薯肢定。
⑧ C語言中返回值是什麼,return 怎麼用
return 返回值;
這通常可以有兩種作用:
一是直接返回計算所得到的答案。
例如:下面的函數返回兩個整數的和:
int sum(inr a,int b)
{return a+b;
}
二是函數中已經處理或保存了所有的答案,通過函數值可以返回本次調用處理的狀態代碼:例如,一般正常返回0,以及常見出錯的代碼(預先約定)。
⑨ c語言中調用函數如何返回多個值
建立數組,返回指針。
在要返回的兩個值類型相同時,可以用創建數組的方式,將要返回的值存在數組中,並返回數組首地址,這樣就可以實現返回兩個值的效果。需要注意的是,要返回數組首地運首掘址,那麼返回的值不可以是局部變數,有如下幾種是可以的:
a) 使用靜態局部變數存儲,並返回地址;
b) 使用全局變數存儲,返回地址;
c) 函數中動態分配內存,並返回申請到的地址,此種方法需要注意,在使用後需要釋放;
d) 在參數中傳入數組地址,並返回。即返回的實際上是主調函數中的變數地址。
(9)c語言中怎麼返回擴展閱讀
通常我們希望通過函數調用使主調函數能得到一個確定的值,這就是函數的返回值。函數的返回值是通過函數中的 return 語句獲得的。return 語句將被調函數中的一個確定的值帶回到主調函數中,供主調函數使用。
函數的返回值類型是在定義函數時指定的。return 語句中表達式的類型應與定義函數時指芹氏定的返回值類型一致。如果不一致,則以函數定義時的返回值類型為准,對 return 語句中表達式的類型自動進行轉換,然後再將它返回給主調函數使用。
在調用函數時,如果需要從被調函數返回一個值供主調旁核函數使用,那麼返回值類型必須定義成非 void 型。此時被調函數中必須包含 return 語句,而且 return 後面必須要有返回值,否則就是語法錯誤。
如果函數有返回值,那麼 return 語句後面的括弧可以不要,比如「return(z);」等價於「return z;」。若不需要返回值則可以不要 return 語句。
需要強調的是,一個函數中可以有多個 return 語句,但並不是所有的 return 語句都起作用。執行到哪個 return 語句,就是哪個 return 語句起作用,該 return 語句後的其他語句就都不會執行了。
⑩ C語言函數如何返回字元串
C語言中實現函數返回字掘昌符串,首先要確定函數返回的字元串地址的來源,一般分為四種方式:
1、函數形參帶進來的地址。
李散笑哪含2、靜態局部變數地址。
3、局部變數地址,必須在函數中用malloc函數進行地址分配。
4、採用全局變數地址。