c语言中函数返回值类型由什么决定,c语言中函数返回值类型由什么决定的

本文目录一览:

在C语言中,函数返回的数据类型取决于

选择C,函数返回值的类型和函数名师没有关系的,函数名只是个简单的代号,没有什么特殊的意义,return 语句中表达式的数据类型必须和 定义函数是所指定的数据类型一样才可以,否则会出错。至于主调函数,强调一下。 主调函数一般都是void 也就是空型的,没有什么特殊用处,也只是为了保持函数格式的一致。

“C语言中,函数返回值的类型是由定义函数时所指定的函数类型决定的”这句话对吗?

int

afun()//函数定义,int

表示函数定义的类型

long

a;

int

b;

//如果返回是这样,return

a;

错误,因为返回值的类型与定义的类型不一致

//如果返回是这样,return

b;

正确,因为返回值的类型与定义的类型一致

,所以,函数返回值的类型是由定义该函数时所指定的函数定义类型决定的!

C语言规定,函数返回值的类型是由( )。 A. return语句中的表达式类型所决定 B. 调用该函数时的主调函数类

当然是由函数决定的啊:

比如声明一个函数

int prot(int *, int);

那么这个函数的返回值int型返回值。

可以写成return XX –XX是int型,如果这里你写成其它型的(如A说的),编译会报错

再就是函数声明写成prot(int *, int), //不给他声明返回类型。

PC机会隐式的让返回值为int型,如果你return 0.32, 返回去的值其实是0.

决定C语言中函数返回值类型的是【 】

决定C语言中函数返回值类型的是定义函数时在函数首部所指定的类型。

在C语言中,一个标准的函数定义语句块必须包含函数返回值的类型标识符、函数名、形参类型及数量、函数体、返回值表达式。如果函数返回值类型为

void

(即无返回值)。

函数定义示例(其中int是函数返回值类型):

int

fun(int

a,

int

b){

return

ab

?

a

:

b;

}

扩展资料

C语言函数类型种类举例介绍:

1、void

空类型,表示该函数无返回值;

2、int

整形,表示该函数返回int整形数值;

3、double

双精度,函数返回双精度数值;

4、char

字符串,函数返回字符串;

5、long

长整型,函数返回长整型数值;

c语言 一个函数返回值的类型取决于( )

显然是选择A.定义函数时制定或缺省的函数类型,如果不指定,缺省是int型。

C语言规定,函数返回值的类型由什么决定?

c语言规定,函数返回值的类型是由函数首部定义的类型决定。函数返回值应与首部定义的类型一致,如若不一致,则自动将返回值强制转换为函数首部定义的类型。没有定义类型时默认为int型。

也就是说你的函数是什么类型,返回值就是什么类型。

比如:

函数定义 int fun(int a,char b)

返回值就是整型

函数定义 int *fun(int a)

返回值就是基类型为整型的指针

函数定义 void fun(int a)

无返回值

扩展资料

函数可以有返回值,只要 return 就可以给出一个,不过常常不用它,有两个原因:

1、C/C++里返回值是复制出去的,而对于大的对象,复制的代价很高;

2、有些对象是不能复制的,至少编译器不知道怎么复制,比如数组。

于是有了下面这样的函数:

bool GetObj(ObjType obj);

bool Encode(const char* src, char* dest);

用一个参数来代替返回值,而返回值只是指示函数执行是否成功。

返回一个大对象是困难的,但这个困难存在于 C 程序中,而不是 C++ 程序中。 C 函数里较少通过返回一个指针来返回对象,因为:

1、如果指针指向栈变量,毫无疑问,要么不用这个返回值,要么是一个错误;

2、如果指针指向堆变量,需要用这个函数的程序员会好好的看文档且足够细心会调用 free,要么就是内存泄漏;

3、如果指针指向 static 变量,那么用这个函数的程序员牢牢记住“下次调用这个函数以后,上次的返回值也会跟着变”。

在C++里直接返回裸指针的话,情况并不会有什么起色,不过 C++ 有智能指针的,通常它们指向堆变量,占用的空间和裸指针一样大。考虑前面第一个函数,写成:

std::auto_ptrObjType GetObj();

返回值如果不要,作为临时变量,会立即被析构,返回的对象被释放;如果需要,就得赋值给另一个智能指针。总之不用程序员记得,编译器会保证这个对象的释放。

考虑第二个函数,稍微有一点麻烦,因为 auto_ptr 是不能用来持有数组的,不过,在C++的世界里,std::string 几乎总是比 char* 好用:

std::auto_ptrstd::string Encode(const char* src);

最后考虑最麻烦的情况:

bool AssembleObjList(ObjType objList[], size_t length);

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/290711.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-24 13:13
下一篇 2024-12-24 13:13

相关推荐

  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • int类型变量的细节与注意事项

    本文将从 int 类型变量的定义、声明、初始化、范围、运算和类型转换等方面,对 int 类型变量进行详细阐述和讲解,帮助读者更好地掌握和应用 int 变量。 一、定义与声明 int…

    编程 2025-04-29
  • Python中capitalize函数的使用

    在Python的字符串操作中,capitalize函数常常被用到,这个函数可以使字符串中的第一个单词首字母大写,其余字母小写。在本文中,我们将从以下几个方面对capitalize函…

    编程 2025-04-29
  • Python中set函数的作用

    Python中set函数是一个有用的数据类型,可以被用于许多编程场景中。在这篇文章中,我们将学习Python中set函数的多个方面,从而深入了解这个函数在Python中的用途。 一…

    编程 2025-04-29
  • 三角函数用英语怎么说

    三角函数,即三角比函数,是指在一个锐角三角形中某一角的对边、邻边之比。在数学中,三角函数包括正弦、余弦、正切等,它们在数学、物理、工程和计算机等领域都得到了广泛的应用。 一、正弦函…

    编程 2025-04-29
  • 单片机打印函数

    单片机打印是指通过串口或并口将一些数据打印到终端设备上。在单片机应用中,打印非常重要。正确的打印数据可以让我们知道单片机运行的状态,方便我们进行调试;错误的打印数据可以帮助我们快速…

    编程 2025-04-29
  • Python3定义函数参数类型

    Python是一门动态类型语言,不需要在定义变量时显示的指定变量类型,但是Python3中提供了函数参数类型的声明功能,在函数定义时明确定义参数类型。在函数的形参后面加上冒号(:)…

    编程 2025-04-29
  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python实现计算阶乘的函数

    本文将介绍如何使用Python定义函数fact(n),计算n的阶乘。 一、什么是阶乘 阶乘指从1乘到指定数之间所有整数的乘积。如:5! = 5 * 4 * 3 * 2 * 1 = …

    编程 2025-04-29

发表回复

登录后才能评论