让我们假设以下程序:
#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);
选项2:
int func(int , int);
选项1和2有什么区别?它们具有完全相同的效果吗?
答案 0 :(得分:3)
1和2 完全相同。 C编译器允许您输入参数名称,但是它们是任意的:如果它们是合法名称(例如,它们不能是关键字或包含前导双下划线),则编译器将忽略它们。
答案 1 :(得分:1)
这两个选项相同,但是第一个选项提供了有关参数含义的更多信息(用于更高级的功能)。
clang-tidy有一条规则,警告您不要编写选项2。