簡體   English   中英

無法將浮點數傳遞給另一個函數?

[英]not possible to pass a float to another function?

我想將浮點數傳遞給另一個函數。

int main()
{

float start=0;
float step=0.1;
int number=10;

fun(start,step,number)


}

fun(float star, float ste, int numbe)
{

//here I get "star = 0", "numbe = 10", but "ste = -1.084264e-19" 

}

這是怎么了

謝謝

只要提供原型或在首次使用該功能之前將定義移至某個功能,就可以肯定將float傳遞給該功能。

原型(也稱為前向聲明)如下所示:

void fun(float star, float ste, int number);

在較大的項目中,原型進入頭文件。

注意:不要忘記在函數定義之前添加void 否則,編譯器會將您的函數視為返回int

如果省略原型,則編譯器將默認使用舊的K&R C規則來決定如何將參數傳遞給函數。 結果是您看到的異常行為,並希望還有編譯器警告。

在調用函數之前,您需要正確的函數聲明:

加:

 void fun(float star, float ste, int numbe);

main聲明之前,還可以在fun函數定義中添加void返回類型。

您需要在main函數之前聲明該函數。 嘗試這個:

void fun(float star, float ste, int number);

int main()
{    
  float start=0;
  float step=0.1;
  int number=10;

  fun(start,step,number);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM