c语言中可不可以直接在函数首部直接给参数赋值

如题所述

不明白你的意思……是不是类似于这样 int hello(char a,int i = 4,int m = 9){} ?
这样在c语言中是不可以的,这是c++的概念,默认参数,使用方法如下:以上面的hello函数为例
hello(n); 默认i=4,m=9。 hello(n,5,23); 这里在函数中i = 5,m = 23.
就是说,如果调用时给参数赋值了,就使用赋值的,如果没有,就使用默认的
需要标明一点,这种函数参数表有个规则,就是所有的默认参数都靠后,即:int hello(int a = 1,int b,int c=23){} 是错误的……而且,使用时,也不可以跳过一个默认值给后面的值赋值,如:
int hello(char a,int b= 12,char c = 'd')如果想参数b使用默认而给c赋值,那么必须是hello(a,12,c),如果跳过赋值b,即:hello(a,c);就是错的,很好理解,这样就把c赋值给参数b了,一定报错。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-18
可以的,但尽量不要那么做,会浪费内存,等到需要调用的时候在进行赋值也不迟的
第2个回答  2014-06-18
不可以,首部只是声明函数名和传递的变量
第3个回答  2014-06-18
在函数段里定义参数的时候可以对其初始化,也就是赋值。

若想在函数外部直接给参数赋值,使用全局变量声明extern。

c语言中可不可以直接在函数首部直接给参数赋值
这样在c语言中是不可以的,这是c++的概念,默认参数,使用方法如下:以上面的hello函数为例 hello(n); 默认i=4,m=9。 hello(n,5,23); 这里在函数中i = 5,m = 23.就是说,如果调用时给参数赋值了,就使用赋值的,如果没有,就使用默认的 需要标明一点,这种函数参数表有个规则,就...

C语言编辑器中的带参数运行是什么意思?
总之,参数就是一个符号,没有实际意义,要让他有实际意义,就给参数附一个值就可以了 形参就是没有实际意义的参数 比如上面的t 实参就是有实际意义的参数 比如把上面的t赋值的那个常量 二维数组就是既有行又有列的。\\x0d\\x0a 比如:你的程序为Untitled1.exe\\x0d\\x0a打开命令提示符:\\x0d...

C语言,什么是函数首部?
int fun(int a, int b) \/\/ 函数首部\/\/ { }中的内容就是函数体{ return a>b ? a : b; \/\/ 函数返回值}

C语言同一个源程序里面如何在一个函数里面调用另外一个函数?
楼上那几位的就可以保证同一个文件满足你要求了,只要被调用的函数定义在调用函数的前面就可以,否则无法编译过,如果在另外个文件里的函数需要确认2个文件的头文件包含关系,通过extern 调用,也可以使用,还有些细节说起来太麻烦可以查阅基本的C语言书籍都有 ...

函数返回值的类型和函数首部定义的类型一致吗?
c语言规定,函数返回值的类型是由函数首部定义的类型决定。函数返回值应与首部定义的类型一致,如若不一致,则自动将返回值强制转换为函数首部定义的类型。没有定义类型时默认为int型。也就是说你的函数是什么类型,返回值就是什么类型。比如:函数定义 int fun(int a,char b)返回值就是整型 函数定义 ...

C语言,函数原型,函数首部,写的时候有没有分号?
那么就需要在调用前声明。声明的格式是 ret_type func_name(arg_list);这个是必须带分号的。2 函数的实现。当定义一个函数的时候,不可以带分号。但后续根的必须是函数体,也就是用{}括起来的程序段。比如 ret_type func_name(arg_list){ \/\/codes } ...

C语言中,实际参数和形式参数的区别
void swap(int *a,int *b) 中的a、b是形参,swap(p,q)中的p、q是实参。至于为什么“参数可以由实参传向形参,而不能逆反传递”,你可以这样理解:我们不妨把函数比作戏剧的剧本,把形参比做剧本中的人物;当我们要表演此戏剧的时候,我们肯定会让真实的演员(实参)去扮演(替换)剧本里的角色(...

在C语言中,函数返回值的类型最终取决于( )。
【答案】:A 在c语言中,函数返回的类型最终取决于函数定义时在函数首部所说明的函数类型,与调用函数时主调函数所传递的实参类型和函数定义时形参的类型无关,而return语句表达式的值将强制转换为函数定义时在函数首部所说明的函数类型返回。

c语言的问题若有以下调用语句,则不正确的fun函数的首部是?
解答:printf()函数由两部分组成,格式控制部分和输出表列,其中由双引号括起来的部分为格式控制部分,而格式控制部分有两种功能,一种是格式转换,该部分由%开始,另一部分属于原样输出的,而该print()函数中只包括原样输出的部分。应该输出a\\bre\\'hi\\'y\\\\\\bou\\n,但是在C语言中以'\\'开始的字符...

c语言中的实际参数和形式参数怎么区分?
实际参数:调用函数时函数名后括号中的表达式!1。形参未被调用时,不占存储单元。形参只在调用过程中占用存储单元。形参定义时必须指定类型!2实参是常量。变量或者表达式!要与形参类型一致!而且实参要有确定的值,在调用过程中实参将值赋给形参!3。 C中实参对形参数据传递时时单向传递。在存储单元中...

相似回答