Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C语言中的函数原型_C_Ansi - Fatal编程技术网

C语言中的函数原型

C语言中的函数原型,c,ansi,C,Ansi,让我们假设以下程序: #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; } 备选案文2: int func(int , int); 选项1和选项2之间有什么区别?它们的效果完全相

让我们假设以下程序:

#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;
}
备选案文2:

int func(int , int);

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

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

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

这两个选项相同,但第一个选项提供了有关参数的更多信息(用于更高级的功能)


clang tidy有一条规则,警告不要写入选项2。

这两个选项是相同的,但第一个选项提供了有关参数的更多信息(用于更高级的函数)


clang tidy有一条规则警告不要编写选项2。

原型不需要提及名称,只需要提及类型。它们可能是相同的。但是
int func(int parcel1,int parcel2);
(可以使用
int func(int a,int b){/*…*/}
进行定义)更具描述性。原型不需要提及名称,只需要提及类型。它们可能是相同的。但是
int func(int parcel1,int parcel2);
(可以使用
int func(int a,int b){/*…*/}
来定义)更具描述性。
int func(int , int);