A ) auto B) static C) register D) extern
为什么?
何为缺省???
缺省就是声明函数的某个参数的时候为之指定一个默认值! 你这个就是Auto了啊
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-10-29
1、形参的类型是不能省略的。函数的存储类型就是函数定义时函数名前面的数据类型前面的存储类型,缺省时应该是:extern ,表示该函数属外部函数(即可以被本C文件外的其他C源程序文件中的函数调用)。
2、对于自定义函数,可使用缺省参数来达到某一程度的“重载”等功能,缺省参数只能放在函数声明中,因为编译器必须在使用前知道缺省值。只有函数参数列表后部参数能够缺省,一旦在某一位置使用缺省参数值后,自此位置以后皆为缺省参数值。
缺省参数可以让参数没有标识符,在C++中,函数定义是,不一定需要标识符:
void f(int number, int = 0, float = 1.1f);
void f(int number, int , float f){/* .... */}
在此函数体中,number与f可被引用,但没有标识符的int则不行,调用时如f(0)(此时函数的参数列表为(0,0,1.1))或f(0,1,2)。这种语法允许我们将一个参数作为占位符而不去使用它,其目的在于我们以后可以修改函数定义而uxuyao修改所有的函数调用(存在参数名没有使用编译器将给出一个警告),更重要的是当我们开始使用一函数参数后发现不需要它时,我们可以高效地将它删除而不会产生警告错误,并且不需要修改函数那些调用函数以前版本的程序代码。
2、对于自定义函数,可使用缺省参数来达到某一程度的“重载”等功能,缺省参数只能放在函数声明中,因为编译器必须在使用前知道缺省值。只有函数参数列表后部参数能够缺省,一旦在某一位置使用缺省参数值后,自此位置以后皆为缺省参数值。
缺省参数可以让参数没有标识符,在C++中,函数定义是,不一定需要标识符:
void f(int number, int = 0, float = 1.1f);
void f(int number, int , float f){/* .... */}
在此函数体中,number与f可被引用,但没有标识符的int则不行,调用时如f(0)(此时函数的参数列表为(0,0,1.1))或f(0,1,2)。这种语法允许我们将一个参数作为占位符而不去使用它,其目的在于我们以后可以修改函数定义而uxuyao修改所有的函数调用(存在参数名没有使用编译器将给出一个警告),更重要的是当我们开始使用一函数参数后发现不需要它时,我们可以高效地将它删除而不会产生警告错误,并且不需要修改函数那些调用函数以前版本的程序代码。