c語言中可不可以直接在函式首部直接給引數賦值

2021-06-25 14:47:35 字數 743 閱讀 2234

1樓:匿名使用者

不明白你的意思……是不是類似於這樣 int hello(char a,int i = 4,int m = 9){} ?

這樣在c語言中是不可以的,這是c++的概念,預設引數,使用方法如下:以上面的hello函式為例

hello(n); 預設i=4,m=9。 hello(n,5,23); 這裡在函式中i = 5,m = 23.

就是說,如果呼叫時給引數賦值了,就使用賦值的,如果沒有,就使用預設的

需要標明一點,這種函式參數列有個規則,就是所有的預設引數都靠後,即:int hello(int a = 1,int b,int c=23){} 是錯誤的……而且,使用時,也不可以跳過一個預設值給後面的值賦值,如:

int hello(char a,int b= 12,char c = 'd')如果想引數b使用預設而給c賦值,那麼必須是hello(a,12,c),如果跳過賦值b,即:hello(a,c);就是錯的,很好理解,這樣就把c賦值給引數b了,一定報錯。

2樓:12狼牙棒棒糖

在函式段裡定義引數的時候可以對其初始化,也就是賦值。

若想在函式外部直接給引數賦值,使用全域性變數宣告extern。

3樓:河科院裡的胖子

可以的,但儘量不要那麼做,會浪費記憶體,等到需要呼叫的時候在進行賦值也不遲的

4樓:星璇少宇

不可以,首部只是宣告函式名和傳遞的變數

現在可不可以直接考b照,現在可不可以直接考B照

可以直接考b駕照的。但是,必須符合以下條件公安部頒發的 機動車駕駛證申領和使用規定 機動車駕駛證申領和使用規定 1 年齡條件 申請城市公交車 中型客車 大型貨車 無軌電車或者有軌電車準駕車型的,在21週歲以上,50週歲以下。2 身體條件 a 身高 申請大型客車 牽引車 城市公交車 大型貨車 無軌電車...

大專想學獸醫可不可以,中專畢業可不可以直接讀大專

可以的,很多大學的獸醫學都開有獸醫學專業,最好的比如中國農業大學,南京農業大學的獸醫學都是本一級學科,還有很多比如揚州大學,吉林大學,東北農業大學等等 中專畢業可不可以直接讀大專 我是學校老師。我告訴你 1 從中專跨越大專直接讀本科,你只有一條路,就是參加全國的普通高考,除此之外,包括自考 高考等你...

棉衣可不可以乾洗,棉衣可不可以乾洗??

棉衣沒有禁止乾洗標誌就可以乾洗。關於棉襖能不能幹洗,主要要看你的棉襖上面的標籤,有沒有禁止乾洗的標誌,有些是不能幹洗的。而且如果是乾洗的話,最好拿到專業乾洗店或者可以信賴的洗衣店。棉衣中有大量的棉花或者鴨絨,所以能吸收很多空氣,而空氣是熱的不良導體,不容其產生熱交換,人就會感到溫暖。棉襖最好還是手洗...