`
finux
  • 浏览: 202497 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

C语言中函数的返回值

    博客分类:
  • C
阅读更多

最近重读《The C Programming Language》。
在讲“函数与程序结构”这一章中,有这样一句话:“如果某个函数从一个地方返回时有返回值,而从另一个地方返回时没有返回值,该函数并不非法,但可能是一种出问题的征兆。
这句话觉得有些难以理解。

于是写了段测试代码,如下:

#include <stdio.h>

int f(int i) {
    if (1)
        return;
    else
        return 1;
}

main(void) {
    int i = -10;
    printf("%d\n", f(i));
}

/*
 * 本程序用gcc编译没有问题,
 * 运行结果如下:
 * -10
 */

 

没有想到结果竟然是这样的。
可是当自己拿g++编译时却发现这段程序不能通过编译,编译时产生如下的结果

main.c: In function ‘int f(int)’:
main.c:5: error: return-statement with no value, in function returning ‘int’

虽然在某种程序上,可以把C++理解成C的扩集,但是,从这个地方也可以看出C++与C在某些细节方面是有大的差别的。

2008-11-11 16:08

分享到:
评论

相关推荐

    C语言中数组作为函数的参数以及返回值的使用简单入门

    在C语言中,当我们声明一个函数并希望接受数组作为参数时,实际上传递的是数组的首元素地址,因为数组名在大多数情况下等价于指向其首元素的指针。有三种常见的方式声明这种函数: 1. 形式参数为指针:`void ...

    C语言 用指针作为函数返回值详解

    C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数。下面的例子定义了一个函数 strlong(),用来返回两个字符串中较长的一个: #include #include char *strlong(char *str1, char *str2){...

    详解C语言函数返回值解析

    C语言函数返回值解析是指在C语言编程中,函数返回值的处理机制。函数返回值可以是变量、指针、数组、结构体等各种形式,但归根结底,函数返回值都是一个值,或者是一个地址。在C语言中,函数返回值的处理机制是通过...

    关于函数返回值的讨论

    函数返回值是C语言编程中的重要概念,它不仅涉及到函数的设计和实现,还关联到内存管理、数据类型转换等多个方面。理解函数返回值和参数传递机制,对于编写高效、健壮的程序至关重要。通过本文的介绍,初学者应能...

    C语言函数练习题及答案.pdf

    本文档提供了11个C语言函数相关的选择题,涵盖了函数定义、函数调用、函数返回值、递归函数等知识点。下面对每个题目进行详细解释。 1.关于C函数定义的叙述中,正确的是? 正确答案是B、函数不可以嵌套定义,但可以...

    用C语言指针作为函数返回值_C语言中文网1

    指针作为函数返回值能带来灵活性,但也需要遵循一些规则以避免潜在的问题,比如确保返回的指针始终指向有效的内存区域。在编写涉及指针的代码时,应特别注意内存管理,以防止内存泄漏或访问无效内存。通过不断地练习...

    c语言中无返回值的函数打印字符串

    在 C 语言中,无返回值的函数通常被称为"过程"或"无名函数",它们的主要目的是完成特定的任务,而不是返回数据。如果需要打印字符串,你可以定义一个这样的函数。 在这个例子中,my()函数接收一个 char 类型的参数,...

    c函数调用-不使用函数返回值

    本文将深入探讨“C函数调用-不使用函数返回值”的概念,通过分析给定的代码示例,解释不同类型的函数参数传递方式,并讨论其潜在的影响和最佳实践。 ### 函数调用与参数传递 在给定的代码示例中,我们看到了多种...

    296-用P0 、P1口显示整型函数返回值(51单片机C语言实例Proteus仿真和代码)

    296-用P0 、P1口显示整型函数返回值(51单片机C语言实例Proteus仿真和代码)296-用P0 、P1口显示整型函数返回值(51单片机C语言实例Proteus仿真和代码)296-用P0 、P1口显示整型函数返回值(51单片机C语言实例Proteus仿真...

    C语言函数习题及答案.pdf

    14. C语言中函数返回值的类型就是由A)return语句中表达式的类型决定。 15. 若在一个C源程序文件中定义了一个允许其他源文件引用得实型外部变量a,则在另一文件中可使用的引用说明就是D)extern float a;。 16. ...

    嵌入式C语言培训-C编程基础-函数返回值

    下面我们将深入探讨嵌入式系统中的C语言编程基础,特别是关于函数返回值的相关知识点。 1. **函数定义与声明** 在C语言中,函数定义包含函数名、返回类型和参数列表。例如: ```c int add(int a, int b) { ...

    C语言标准函数库速查手册.chm

    本速查手册《C语言标准函数库速查手册.chm》是一个实用的参考资料,它详细列举了C标准库中的各种函数,帮助开发者快速查找和理解这些函数的用法。手册可能包括以下内容: 1. **输入/输出(I/O)**:头文件中的函数...

    枚举和函数返回值使用---工作内容之总结

    枚举类型和函数返回值是C语言中非常重要的特性,它们能够帮助开发者更好地组织和管理代码。合理利用枚举类型可以提高代码的可读性和可维护性;而通过使用枚举作为函数返回值,则可以让代码更加健壮和易于调试。掌握...

    C语言函数说明与返回值.pdf

    综上所述,C语言函数是编程中的基础单元,它实现了程序的模块化和功能封装。通过合理地定义和使用函数,程序员可以编写出结构清晰、易于维护的代码。同时,理解函数类型说明和返回值的机制对于正确编程和避免编译...

    为什么fread(),fwrite()的返回值总是为0,但是读写文件正常

    在C语言中,`fread()` 和 `fwrite()` 是用于从文件中读取和写入数据的标准库函数,它们属于 `&lt;stdio.h&gt;` 头文件的一部分。这两个函数在处理大量数据时非常有用,但初学者可能会遇到一些困惑,尤其是当它们的返回值不...

    C语言29:用P0 、P1口显示整型函数返回值.rar

    本教程“C语言29:用P0 、P1口显示整型函数返回值”将重点讲解如何利用这些端口来呈现整型函数的返回值。 首先,我们需要理解P0和P1口的基本工作原理。P0口是8位双向数据口,既可以用作输入也可以用作输出。当作为...

    C语言中函数编写方法.pdf

    对于C语言而言,其函数的类型与函数返回值的类型相同,对于单返回值函数而言,在应用的过程中需要使用“return”语句将得到的目标数值返回到主函数中,一般情况下,应用“return”语句只能实现单数值的返回。...

    C语言函数大全超级完整版

    C语言是一种基础且强大的编程语言,它以其简洁、高效和灵活的特点被广泛应用于系统编程、嵌入式开发、软件工程等多个领域。C语言的函数是其核心组成部分...这份"C语言函数大全"文档无疑是你学习过程中宝贵的参考资料。

    c语言之函数 Function

    在C语言中,函数是实现模块化编程的关键元素,它允许我们将复杂的代码逻辑分割成独立的部分,便于管理和重用。本篇将深入探讨C语言中的函数这一核心概念。 1. **函数定义与声明** 函数在C语言中是一段可执行的代码...

Global site tag (gtag.js) - Google Analytics