1

可能重复:
为什么声明放在 func() 和 {} 之间?

在 C 语言中,当我在函数签名之后、函数体之前声明变量时,这意味着什么?

例子:

int foo (i) int i {
    printf ("the value of variable 'i' is: %d", i);
    return i;
}

当我编译除了初始化变量 i 之外的代码时,我得到一个编译错误:“无法初始化参数:p”

4

1 回答 1

5

这意味着您正在查看旧代码。那是旧的 K&R 语法。
基本上它说,i是论点,它是一个int

您可以将其重写为

int foo (int i) 
{
    printf ("the value of variable 'i' is: %d", i);
    return i;
}
于 2012-10-07T01:28:14.547 回答