調用自定義函數時,需要自定義函數返回一個值,就返回,不需要就不返回。
網站建設哪家好,找成都創新互聯!專注于網頁設計、網站建設、微信開發、微信平臺小程序開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了福安免費建站歡迎大家使用!
也可以用指針,這樣就不用返回了
int add( int x, int y )
{
return x+y;
}
void add( int x, int y, int *s ) //調用函數需要s的值
{
*s = x + y;
}
簡單的說,函數就是一個算法,有不有返回值是跟這個函數做什么的有關系。
一般情況下,求和這類的就要返回值,比如
int add(int a,int b)
{
return a+b;//這就返回a+b的和,用函數的時候,你只要傳a,b的值就得了
}
用的時候這樣:
int s=add(100,200); //就把100+200也就是300的值賦給s了
這種情況就是相當于你去A地做買東西,你肯定得拿東西回來。你拿回來的東西也就是返回值
-------------------------------------------
還有些不用返回值的,比如,輸出,或者給有地址的變量賦值等 這些函數前面就可以用void 表示無返回值,當然你也可以返回你想返回的。比如說成功或者失敗返回true or false.也可以隨意返回一個int型的 1或者0
比如:
void pri(int i)
{
printf("%d",i);//這個就是打印一個整型的i出來
}
這種就像你去A地不干什么,就去那兒吼兩句,也就不用拿什么回來了。
還有種給有地址的變量賦值。那就相當于你去a地寄了一封信,也不用什么什么回來。
啊,打得手累,我就這樣理解了。給是清楚點了,呵呵
考慮到main函數的特殊性,lz不明白這個問題可以理解。
main()是省略了返回值類型,C語言會默認認為成main的類型為int,在main()的函數體內要返回一個值,如return 0;
而void main()的返回值是void類型,也就是說沒有返回值。這樣在main()的函數體內你就不用寫return 0;或者return 1;之類的返回語句。
在一個程序中,可以說你看不出兩者的差別,因為main()是C語言的入口點,入口點如果返回了程序也就結束了,因此C語言的這個特性似乎沒用。可沒用的話,C語言的設計者為什么要這么做呢?!肯定有用。
沒錯,前面我說的是在一個程序中,它似乎沒用。可如果一個程序prog2調用另一個程序prog1的話(這里指的是prog2直接調用prog1編譯好的可執行文件),那么這個特性就有用了。因為prog2要知道prog1運行之后的狀態。比如你用C寫了一個刪除文件的程序(暫且命名為delf),然后用另一個程序去調用delf,那么調用結果怎么樣啊?這個文件是否刪掉了?這是int main()就會派上用場了。C語言中默認的main如果返回為0,那么這個程序調用就成功了,其他值,則為不同的錯誤代碼。在你的delf程序中,如果那個文件刪除成功,那么就在int main()中返回0,其他調用delf的程序就知道,噢,這個操作成功了。
在unix/linux系統中的很多命令都是通過這種方式獲得運行結果的。
關于譚浩強的書,我想不用多說,發行量說明了一切。畢竟第二版在編寫的時候還比較早,而第三版根據很多現在的需要進行了改寫,內容當然會好些。鑒于lz是初學C,其實大可不必在這個問題上浪費太多時間,當你有了更多的項目經驗,對這個問題會有更深刻的理解。
上面我已經給出了main()、int main()和void main()的區別,但建議lz忽略這個差別,認為成二者一樣,先把C的其他部分學好。至于只寫成main(),我并不推薦,就算編譯器通過了,這種編程的風格也太不嚴謹,不利于好的習慣的養成。
return 可以分兩種情況:
1.有返回值的函數
int function1(){
return? 1;? ? --必須要return 才能有返回值。
};
2.沒有返回值的函數
void?function2(){
return;? ? --寫了return會直接跳出函數,不會繼續執行下面的語句。
int a=1+1;
};
擴展資料:
被調用函數是void類型表達式最后一句寫return是沒有意義的,如果在表達式的最上面寫return就會直接跳出函數不會執行下面的語句,。
2.被調用函數不是void類型,你肯定需要函數的返回值,比如你寫一個你調用比大小的函數你肯定需要知道誰大誰小,記住函數一旦遇到 return 語句就立即返回,后面的所有語句都不會被執行到了。
參考資料
百度百科-return(C語言語句)
scanf函數的返回值意思是輸入的項數。
工具/原料:
惠普pro
windows10
C語言0.99
1、首先在主函數中定義一個變量greet,用于存儲輸入的內容。
2、接著定義一個int類型的變量num,用于存儲scanf的返回值。
3、然后給出輸入內容的提示。
4、使用scanf函數將輸入的內容存儲到greet中,并將返回值賦值給num。
5、最后用printf函數將num的值打印出來。
6、運行程序,查看結果。