這個C程式執行時說沒有返回值 請大家看看錯在哪裡

時間 2023-03-26 01:40:09

1樓:匿名使用者

是這樣的,看你是在什麼平台編譯的。

根據c99標準,main函式的預設返回值是int型別的,你在main前面加個void應該就可以解決了。

如果你的編譯器預設是c90標準,那應該不會報錯的。

順便說一下,現在程式設計規範,main的返回值都是int型。

int main(void)

養成良好的程式設計習慣是有必要的。希望對你有幫助!

2樓:網友

編譯器不同吧,可能你的編譯器語法比較嚴格。main方法沒有返回值,可以改成int main()。你的square函式也有問題啊,x的值是未定義的,你根本沒給它賦值嘛。

3樓:匿名使用者

main前面有個void,如果是c的話。

在include後面,main前面,要宣告下float square();

4樓:西西刄

square()該函式裡的x沒有被初始化,呼叫肯定無返回值的。。。

5樓:匿名使用者

你的 float aquare();完全有問題啊。。

#include

main()

float square(float x)

6樓:網友

main裡面的宣告發外面。

float square();

int main()

float square()

你的報錯是float x在裡面沒有初始化,float x =

7樓:

你沒有申明變數,在main()之前加float square();這個試試看看。

8樓:數學蠢蛋

我執行了一下,有輸出啊,就是。

#qnan0

不過輸出怎麼變來變去啊?

c語言中函式必須有返回值嗎?沒有無法使用對嗎?

9樓:匿名使用者

不是必須有返回值。如果沒有返回值型別名為"void"。

void函式的定義:

void+函式名()/無型別+函式名。

{//程式**如果沒有返回值型別名為"void", 整數型別int 型別返回值為整數型別int,以此類推……

型別名有:void int long float int* long* float* …

10樓:喜歡種蘑菇

按標準來說,c的main函式是需要有返回值的。標準中main函式返回型別是int的,所以需要乙個返回值。但是由於歷史原因,很多地方可以看到沒有返回值的main。

比如直接main()或者說void main() 但是這樣一般編譯器也不會認為錯誤,不過建議還是寫標準的c的main函式,最好有乙個返回值,0表示正常退出。

11樓:匿名使用者

在c語言中,其實都是有返回值的,即使你不寫,編譯器,也會幫你預設,為空,希望可以幫到你,沒有,是可以使用的,只是這義氣會幫你補為空。

12樓:天空下的卵石

沒有返回值也可以,可以返回值為無的,但需要返回值**,返回的結果可以是空的。

13樓:匿名使用者

是的c語言函式中必須有返回值,不然無法使用。

14樓:古爾格

在寫函式時,我們一般用 型別+函式名 來定義函式,void型別是空返回值,也就是沒有返回值。

其他的,如int、double等型別函式,需要返回相應型別的返回值。

15樓:我的

不一定要有返回值,void函式不許需要有返回值,但函式依然可以呼叫。

16樓:匿名使用者

不一定哦,以void開頭就不需要return返回。

c語言程式中怎樣看知道有無返回值?

17樓:焚稿祭鬼

1全部方法1:

看函式頭的宣告。

宣告格式:返回值型別 函式名(函式引數)

比如:void sushu(unsigned int a)就是無返回值的。

而char lastword(char* str) 有返回值,返回值是char型的。

當然有些函式的返回值型別是預設的,像初學c語言時的main 函式。這時要看編譯環境,c語言中預設返回值型別預設為void ,即無返回值;而在c++裡,預設時返回值預設為int型。

方法二:看函式體中是否有關鍵字 return 出現。

當然,在不嚴謹的程式設計中,有時候宣告裡有返回值但是函式體中沒有return 也可以編譯通過,但是有warnning,這時的返回值也是看情況的。

18樓:匿名使用者

只要函式名前面不是void的,都有返回值。

void test() 這種是無返回值的。

19樓:匿名使用者

如果你的函式沒有加上返回值型別,預設的是int型別的。

就像 fun()

上面這個函式,預設返回int型別,當然你不返回也沒多大關係。

20樓:pcj小潘潘

那就要根據你得程式需要了 你若需要在呼叫函式是接收到由函式返回的值,則就要在函式申明是函式名前寫上需返回的值型別,然後在函式內部用return 語句返回所需的值。

21樓:匿名使用者

看一下是不是void開頭的,

22樓:開著揚子超賓士

看函式裡的最後一句:return 的是什麼。

簡單c語言函式呼叫無返回值問題?

23樓:匿名使用者

遞迴函式mypower的定義有邏輯錯誤,改成:

double mypower(int a,int b)if(0==b) return 1;

return a*mypower(a,b-1);

如果改成這樣,會更高效:

double mypower(int a,int b)if(0==b) return 1;

if(1==b) return a;

return mypower(a,b%2)*mypower(a*a,b/2);

例子1#include

double mypower(int a,int b)if(0==b) return 1;

return a*mypower(a,b-1);

int main()

int a=2,b;

for(b=0;b<11;b++)

printf("%lf",mypower(a,b));

return 0;

例子2#include

double mypower(int a,int b)if(0==b) return 1;

if(1==b) return a;

return mypower(a,b%2)*mypower(a*a,b/2);

int main()

int a=3,b;

for(b=0;b<11;b++)

printf("%lf",mypower(a,b));

return 0;

24樓:匿名使用者

遞迴程式設計問題:何時結束遞迴沒有任何處理,因此這樣一直呼叫下去,直到把堆疊耗光。

通常遞迴函式中要跟據引數條件決定是進一步遞迴還是結束遞迴返回。

25樓:野人馬

因為函式使用了遞迴,但沒有設定退出遞迴條件;

暫作如下改進,不知是不是你想要的效果?

#include

double mypower(int a,int b)int main()

C 程式設計中返回值問題,c 獲得外部程式返回值的問題

如果函式有返回值,則需要返回語句return。return語句的一般形式是 return 表示式 執行時,先計算出括號中表示式的值,再將該值返回給主調函式中的呼叫表示式。下面對return語句做一些說明 1 函式的返回值是通過函式中的 return 語句獲得的。return 語句將被呼叫函式中的一個...

c執行時提示班級錄入 load方法沒有採用「0」個引數的重

首先,你應該是在按鈕事件中呼叫了乙個 load的函式 對嗎!然後,我們游標放到 load 的中間按下f12進入 load函式中看一下這個方法是否帶有引數以及引數型別.然後回到我們的cs檔案中檢視我們呼叫 load 這個函式時給的引數個數以及型別是否與剛才我們f12看到的 load函式中的方法引數個數...

沒有返回值的函式有什麼用,c 問題,呼叫有返回值和沒有返回值的函式,為什麼不同呢?

小鏡子 無返回值的話就是函式本身無值,只起到處理的作用 輸入 輸出 賦值等 其功能相當於 由幾個語句構成的函式。通俗理解就是它本身是一段語句。一個函式的函式名既是該函式的代表,也是一個變數。由於函式名變數通常用來把函式的處理結果資料帶回給呼叫函式,即遞迴呼叫,所以一般把函式名變數稱為返回值。函數語言...