1樓:
所謂返回值,就是人們想要知道函式或者程式所得到 的結果而設計的函式或者程式結束時給出一個值。比如:我們編寫一個加法函式,肯定想知道加完過後的結果是什麼,那麼我們就指定這個結果為該加法程式的返回值。
關於返回值的返回:
1、函式呼叫語句本身代表其返回值:例如:fun(a);那麼「fun(a)」就是這個返回值。
2、可以把返回值存到對應型別的變數之中。例如:int a=fun(b);
3、返回值是多種多樣的,可以是各種各樣的,int short char double 等等,還可以是指標或者結構體。在資料結構的二叉樹部分,某一個函式的返回值是一個帶有兩個指標的結構體。
2樓:匿名使用者
1、函式定義為:int max(int a, int b),這是個函式是獲得a,b兩個整數值較大的那個,在函式的前面有個int值,說明這個函式返回的是一個整數型別,所以他的返回型別為整型,如果a值比較大就會返回a,這個a的值被稱為返回值。
例如:#include
int max(int a,int b)void main()//在主函式中呼叫函式int max(int a,int b),如果我們輸入1,2,則最後顯示2,2為返回值,而函式int max(int a,int b)中的返回型別為整型。
3樓:巫素芹拜君
1)void
+函式名:表示函式沒返回值。2)int+函式名:
表示函式的返回值型別是整型。3)函式中可以有return語句,表示函式執行到此結束,如果return後面有表示式,說明函式有返回值,如果只是一個'return;'說明函式沒返回值
4樓:縱榮花暴俏
返回值就是執行一個方法後,這個方法丟擲的一個值。返回值一般被用來輸出方法的計算結果,共呼叫的方法取得並進行判斷。
一般說來,定義為void的方法不返回任何值,也就是可以什麼都不返回,或者寫成return;這也是什麼都沒返回。
5樓:
就你的函式功能而言,可以使用指標和引用的方法來交換兩個變數的值。用返回值的方式有點多餘,因為c語言函式只能返回一個結果,如果要返回多個值,則需要寫成一個結構體返回,但這樣其實返回的仍然是一個臨時變數,並沒有交換兩個變數的值,所以不符合你的需求
6樓:金色潛鳥
函式呼叫結果的返回值,可以通過3個途徑獲得。
(1)函式自身返回
(2)通過函式引數返回
(3)通過全域性量返回。
到底用那種方法,取決於程式設計師的考慮。
node* --通過 函式自身返回,返回一個結構指標,指向 node 型結構。
int -- 通過 函式自身返回,返回一個整型量。
createlinklist 是建連結串列,返回node* 結構指標getelem 獲取元素單元,返回node* 結構指標insertlinklist 用 int 表示插入成功或失敗,或用 int 表示什麼。
這些 都 取決於程式設計師的考慮。 沒有絕對的規定。
7樓:柴海依歆
public
void(返回型別:這裡為無) 方法名1()public
int(返回型別:這裡為整形) 方法名2()方法1呼叫了輸出2
方法2呼叫了則可以int
a=方法2();著裡的a等於2了;
一個返回一個資料一個則直接執行
8樓:匿名使用者
如果沒有返回值的話,則就是在函式的結尾直接使用ret指令,然後cpu自動的從堆疊中取出斷點處的地址,恢復呼叫之前的cpu狀態,然後繼續執行函式後面的指令。
函式的返回值是存放在一個呼叫堆疊中,被調函式返回後,主調函式從堆疊中取出返回值,放入到一個變數中。然後就可以使用這個變數了。這就是返回普通的值,返回指標型變數的話,就複雜些。
這些東西可以聯絡編譯原理和組合語言,加以理解。
9樓:聖誕鯊魚
在time1()函式裡,char now是個在函式裡宣告的臨時變數函式返回 char * p之後 ,char now的空間就已經釋放掉了
如果你想返回時間字串
把char now[80]; 改成 char *now =(char *)malloc(sizeof(char)*80);
用malloc函式申請空間,函式返回之後空間就不會被釋放掉了vc++ 6.0編譯通過
10樓:匿名使用者
char now[80];
char *p=null;
p=now;
printf("%s",p);
return p;
這些操作都是子函式中的資料(變數),在子函式結束後,p,now都會被釋放,你的輸出都是不準確的!
11樓:零剛德欣美
當你呼叫函式,並想得到你呼叫的函式的值的時候,就在你呼叫的函式里加上個return語句,返回你想要得到的值
12樓:匿名使用者
不理解你指的輸出是什麼意思。
有返回值是因為呼叫的**需要返回值,沒有返回值是因為呼叫的**不需要返回值,就這麼簡單阿。
13樓:老夫貪狼
假設你的函式是int sum(int a,int b)當你呼叫的時候如果你在主函式中這樣呼叫x=sum(2,4);那麼x的值就是6;
14樓:
你可以這麼理解,比如我們定義了一個函式fun(),如果這個函式有返回值,那麼在呼叫程式裡面(比如主函式)就可以把這個函式當成一個數使用;如果沒有返回值,那麼通常他就是一個獨立的語句存在。
比如fun函式裡面有個return 0;表示返回值是零,那麼在呼叫函式裡面就可以存在諸如
a=fun();b=a+fun();if(fun()>=0{};……這類的語句,表示a=0;b=a+0;if(0>0){};等等,當然也可能是返回一個變數的值,你個指標的值是一樣的。
如果沒有return 語句,那麼函式沒有返回值,呼叫函式裡面就不能把他當做一個數值來使用,會出現:
fun();單獨成句的語句,在fun()裡面可能進行了一些操作,但不需要結果。
c語言自帶的函式通常都有返回值,計算函式返回計算結果,操作函式返回操作結果(成功返回1,失敗返回0)
15樓:
int sum(int a, int b)
void main()
列印輸出3
16樓:淦海瑤
在c中任何函式都有返回值,這個是定下的,主函式也有返回值
返回值分幾個方面,逐個說一下
主函式的返回值,這個一般使用者用不到,程式執行的時候,系統會根據這個返回值來判斷程式的執行結果
不管定義神馬型別的返回值,在tc中預設為void型(這個可以省略),可以根據需要自己定義都可以。
vc中好像必須寫,要不然編譯系統提示出錯
子函式的返回值,分兩類
void,也就是在不需要子函式返回數值的時候用到。注意的是不需要不代表沒有返回值。呼叫成功返回1,不成功返回0,我好像在**看到過這個說法,我不確定
非void型,這個返回值型別根據定義來返回
值得注意的是,在子函式中,只要執行return一定結束子函式,不管後面有多少**
一些系統自帶的函式,如printf,scanf等,最好了解他的返回值
17樓:匿名使用者
根據你的程式來看應該是一個void型,
不過你這是一個交換資料函式,如果這樣傳進來,是修改不了原址的
而如果你想輸出交換後的結果,就只接在函式裡面輸出,因為等出了這個函式,a和b的值是不會變的。
18樓:首桂蘭慕溪
一群不懂c的人在討論
有一種指標型別,叫做
void
*連void是什麼都不知道就在這裡胡說,恐怕都是看譚浩強的書學過來的吧
c語言中,函式返回值怎麼用?
19樓:り斑駁丶4129仉
一般用0表示函式執行正確,正常返回;用負數表示函式執行出錯,每個值可以提前定義,根據出錯的值進行出錯處理。
----------------
誠心為您解答每一個問題!
如您滿意請採納最佳!如有疑問請繼續追問!
您的好評是我們前進的動力,相互幫助,一起進步!
20樓:匿名使用者
return後接一個值。
在呼叫這個函式的函式裡面,呼叫它的時候希望獲得一個值,如果不希望獲得這個值的時候,用void宣告就好。如果需要,比如說需要得到一個整形值
就宣告int func()
在呼叫它的比如main裡面
func()的作用就可以相當於一個int型常數比如外面定義了
int max(int a,int b)
主函式裡面是
main()
這時候就是通過max計算 1>2 則return 一個1 ,1<2 則return一個2。很明顯1<2 所以這裡max(1,2)就會return 一個 2
這時候主函式裡的max(1,2)就相當於一個常數 2a=max(1,2)的作用就相當於a=2
這個意思。
21樓:淦海瑤
在c中任何函式都有返回值,這個是定下的,主函式也有返回值
返回值分幾個方面,逐個說一下
主函式的返回值,這個一般使用者用不到,程式執行的時候,系統會根據這個返回值來判斷程式的執行結果
不管定義神馬型別的返回值,在tc中預設為void型(這個可以省略),可以根據需要自己定義都可以。
vc中好像必須寫,要不然編譯系統提示出錯
子函式的返回值,分兩類
void,也就是在不需要子函式返回數值的時候用到。注意的是不需要不代表沒有返回值。呼叫成功返回1,不成功返回0,我好像在**看到過這個說法,我不確定
非void型,這個返回值型別根據定義來返回
值得注意的是,在子函式中,只要執行return一定結束子函式,不管後面有多少**
一些系統自帶的函式,如printf,scanf等,最好了解他的返回值
22樓:匿名使用者
根據你的程式來看應該是一個void型,
不過你這是一個交換資料函式,如果這樣傳進來,是修改不了原址的
而如果你想輸出交換後的結果,就只接在函式裡面輸出,因為等出了這個函式,a和b的值是不會變的。
23樓:
所謂返回值,就是人們想要知道函式或者程式所得到 的結果而設計的函式或者程式結束時給出一個值。比如:我們編寫一個加法函式,肯定想知道加完過後的結果是什麼,那麼我們就指定這個結果為該加法程式的返回值。
關於返回值的返回:
1、函式呼叫語句本身代表其返回值:例如:fun(a);那麼「fun(a)」就是這個返回值。
2、可以把返回值存到對應型別的變數之中。例如:int a=fun(b);
3、返回值是多種多樣的,可以是各種各樣的,int short char double 等等,還可以是指標或者結構體。在資料結構的二叉樹部分,某一個函式的返回值是一個帶有兩個指標的結構體。
c語言中void函式的返回值是怎麼回事例如下面這
void 是沒有返回值的 如果要有返回值 void的地方改成返回值得型別 如 string int 等 然後再程式的最後一行 增加 return 你要返回的值即可 void 代表空返回值。即無返回值 所給的案例中,swap函式是一個無返回值函式但是該函式帶兩個輸入引數 當主函式呼叫該函式時 只需要給...
c語言中的fgets函式,C語言裡fgets函式怎麼用?
fgets 函式用於從檔案流中讀取一行或指定個數的字元,其原型為 版char fgets char string,int size,file stream 引數說明 string為一個字元陣列,用來保權 存讀取到的字元。size為要讀取的字元的個數。如果該行字元數大於size 1,則讀到 size ...
c語言scanf 輸入函式,c語言中的scanf 函式的用法
scanf是c語言中的一個輸入函式,與printf函式一樣,都被宣告在標頭檔案stdio.h裡,因此在使用scanf函式時要加上 include 在有一些實現中,printf函式與scanf函式在使用時可以不使用預編譯命令 include 它是格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指...