當前位置:首頁 » 編程軟體 » 函數沒有聲明編譯通過了

函數沒有聲明編譯通過了

發布時間: 2022-12-26 06:32:47

A. 定義的函數必須要聲明嗎為什麼我沒聲明也成功了

你的主函數也沒有函數返回類型 又沒有聲明函數 絕對不會成功 主函數改為void main 然後su(int x) 函數也沒有返回類型 不可能正確 比如你寫成void su(int x) 在主函數之前 在寫上void su(int x);這句表示聲明一下 才行

B. c語言,為什麼我寫的的這個函數沒有聲明,我也能調用呢

這個未聲明只是警告,是一種提醒,有些時候不會影響編譯,應該盡量可能避免。
以上代碼把第11行的內容復制在第1行、第2行之間,末尾再加個分號(;),就可以了,這就是函數的聲明。

C. C語言 函數調用 如果沒進行聲明會怎麼樣

1、由於程序是順序執行,如果沒有提前聲明,程序會找不到函數,於是報錯。
2、聲明的主要作用是告訴程序我下面要用到這個函數,程序會去找這個函數的定義,然後調用。
3、也可以把nt max(int x,int y)放到main函數之前,就不用寫聲明了。

D. 編譯已通過,為什麼無法找到函數定義

你把大括弧的位置放錯了,sushu函數被定義在了main函數裡面,但是按照C語言的規定,函數不允許嵌套定義,所以你的sushu相當於沒有定義(不知為何你的編譯器沒有報錯說不允許在函數內定義函數)。解決方法是把你最後面多出來的大括弧移到main函數最後面。

E. 請問C語言中我的主調函數之前沒有寫函數聲明 為什麼還能跑通

在C語言中,函數聲明只是推薦,而不是強制。
當沒有函數聲明的時候,編譯器沒辦法對函數的參數個數和類型做檢查,於是帶來風險,但並不是找不到。
你看下你編譯的時候,針對沒有聲明的函數,應該會有一個warning的。代表編譯器檢查到了這個問題,但是並不是致命的。所以只是warning, 而不是error。

F. 沒有聲明函數也可以通過編譯

如果該函數聲明的修飾符為public類型的,在main中當然可以直接調用了。public不受調用限制

G. c語言這段代碼為什麼fun函數沒有聲明,卻還是可以正常運行

我真的可想知道就這代碼你原封不動地搬到編譯器里能通過運行?讓人家回答你得先給個整的代碼啊.

H. c 里的函數可否不聲明 直接在main()後面使用

函數未先聲明,直接在main中使用,在Turbo C 2.0,Borland C++編譯是可以通過的,不過這樣不是良好的編程習慣,建議:1. 將函數移到main之前;2. 在main之前聲明,在main之後再為函數代碼。對於較大的代碼,函數多,相互之間存在各種引用,為了便於閱讀、管理,減少錯誤,強烈建議採用第2種方式,這是一種良好的編程習慣。而且現在很多編譯器對於函數未先聲明,直接使用會給出警告或錯誤。

I. c語言規定函數使用前必須先聲明或定義,那為什麼我的max()函數在使用前不定義和聲明都能編譯成功

我用的code::blocks是必須先聲明再調用的,但是高級語言編譯器會做優化,它會先將聲明和定義的東西執行,再執行代碼,所以寫Java和C#的時候是不需要聲明在調用之前的

J. 函數已經聲明過了,但是編譯的時候還是說沒有聲明

#include <iostream>
#include <iomanip>
#include "io.h"

void Calcluate(int month_index, double interest_ratio, double monthly_pay, double bal);

int main()
{
double monthly_payment, interest_rate, years;
int ration_in_month;

//Get the monthly payment.
string prompt = "Please enter the monthly payment: ";
monthly_payment = GetParam(prompt, 1.0, 100000.0);

//Get the interest rate.
prompt = "Please enter the interest rate: ";
interest_rate = GetParam(prompt, 0, 1);

//Get the ration of the loan.
prompt = "Please enter the ration of the loan, in years: ";
do {
years = GetParam(prompt, 1, 100);
}while (10 * years - 10 * (int)years > 0);

ration_in_month = 12 * years;

//Print the header of the output table.
PrintHeader ();

//Calculate the loans.
Calcluate(ration_in_month, interest_rate, monthly_payment, 0);//單詞拼寫錯誤改過後就沒有了

return 0;
}

void Calcluate(int month_index, double interest_ratio, double monthly_pay, double bal)
{
double interests, prin;

do{
bal = (monthly_pay + bal) / (1 + interest_ratio / 12);
interests = bal * interest_ratio / 12;
prin = monthly_pay - interests;

//Print the table.
PrintMonthlyData (month_index, prin, interests, bal);
}while (month_index-- > 1);

}

熱點內容
solidworkspcb伺服器地址 發布:2025-07-18 22:50:35 瀏覽:815
怎麼在堆疊交換機里配置vlan 發布:2025-07-18 22:42:35 瀏覽:624
java調用別人的介面 發布:2025-07-18 22:37:35 瀏覽:434
伺服器四個節點如何聯網 發布:2025-07-18 22:36:02 瀏覽:272
華強北什麼地方休安卓手機 發布:2025-07-18 22:24:56 瀏覽:736
資料庫的根本目標 發布:2025-07-18 21:37:50 瀏覽:939
壓縮機的流速 發布:2025-07-18 21:37:40 瀏覽:407
三星怎麼取消手機密碼 發布:2025-07-18 21:33:50 瀏覽:630
安卓手機耳機如何彈窗顯示電量 發布:2025-07-18 21:20:53 瀏覽:60
雲伺服器搭建需要什麼工具 發布:2025-07-18 20:51:08 瀏覽:322