C语言中的函数原型

sauutmhj  于 2023-03-28  发布在  其他
关注(0)|答案(2)|浏览(144)

让我们假设以下程序:

#include <stdlib.h>
int main()
{
  int a,b,;
  scanf("%d",&a);
  scanf("%d",&b);
  c = func(a,b);
  printf("%d",c);
  return 0;
}

int func(int a, int b)
{
  return a+b;
}

现在,让我们假设以下选项用于定义函数“func”的原型。
备选办法1:

int func(int a, int b);

备选方案二:

int func(int , int);

选项1和选项2有什么区别?它们有完全相同的效果?

zzwlnbp8

zzwlnbp81#

1和2 * 完全 * 相同。C编译器允许你输入参数名,但它们是任意的:如果它们是法律的的名称(例如,它们不能是关键字,或包含前导双下划线),编译器将忽略它们。

6pp0gazn

6pp0gazn2#

这两个选项是相同的,但第一个选项提供了有关参数的更多信息(对于更高级的函数)。
clang-tidy有一条规则,警告不要写入选项2。

相关问题