簡體   English   中英

在函數內調用相同的函數

[英]Calling the same function within the function

#include<stdio.h>
int slogan();
int main()
{
    slogan(slogan());
    return 0;
}
int slogan()
{
    printf("onlyme\n");
}

我的疑問是,口號函數在其原型中沒有參數列表,那么它如何接受函數調用作為其參數呢?

在c中,空參數列表並不意味着不帶參數的函數 它表示具有未指定數量的參數的函數

聲明一個不帶參數的函數寫:

int func(void);

因為在C中,

int slogan();

聲明一個函數而不說任何關於它的參數。 這根本不是原型宣言,而是舊式的K&R宣言。 參數函數的原型聲明是

int slogan(void);

前一種形式存在於1989年之前的C后向兼容性,當時你無法在原型中提供參數信息。

請看第一個答案(第二個)第一個答案將為您提供函數聲明的准確解釋

第6.11.6節函數聲明符(K&R C)

使用帶有空括號的函數聲明符(不是prototype-format參數類型聲明符) 是一個過時的功能。

暫無
暫無

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

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