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

标签 c function syntax compiler-errors method-signature

<分区>

Possible Duplicate:
Why are declarations put between func() and {}?

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

例子:

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

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

最佳答案

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

你可以改写为

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

关于c - 在 C 中,当我在函数签名之后、函数体之前声明一个变量时,这意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12765371/

相关文章:

c - 来自不兼容指针类型警告的初始化

c - C语言中的生产者消费者错误

php - 应用程序如何可能对已删除且不存在的函数抛出重新声明错误?

perl - 这个 Perl bool 语法有什么问题?

c - 如何在函数声明语句中使用二维数组?

java - 在 Java 和 C 中,负数 Mod 给出负结果

swift - 是否可以调用 Any 的 callAsFunction() 变量?

function - 如何在 Elixir 中动态调用运算符

c - C中实现结构的动态分配

java - Java 中的数组创建语法