满意答案

ansjc

2014.11.02

采纳率:44%    等级:6

已帮助:206人

void的使用

下面给出void关键字的使用规则:

规则一

如果函数没有返回值,那么应声明为void类型

在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。例如:

add ( int a, int b )

{

return a + b;

}

int main(int argc, char* argv[])

{

printf ( "2 + 3 = %d", add ( 2, 3) );

}

程序运行的结果为输出:

2 + 3 = 5

这说明不加返回值说明的函数的确为int函数。

林锐博士《高质量C/C++编程》中提到:“C++语言有很严格的类型安全检查,不允许上述情况(指函数不加类型声明)发生”。可是编译器并不一定这么认定,譬如在Visual C++6.0中上述add函数的编译无错也无警告且运行正确,所以不能寄希望于编译器会做严格的类型检查。

因此,为了避免混乱,在编写C/C++程序时,对于任何函数都必须一个不漏地指定其类型。如果函数没有返回值,一定要声明为void类型。这既是程序良好可读性的需要,也是编程规范性的要求。另外,加上void类型声明后,也可以发挥代码的“自注释”作用。代码的“自注释”即代码能自己注释自己。

00分享举报

c语言void返回什么意思,C语言程序返回值是void什么意思?相关推荐

  1. c语言void形式的函数,C语言的void类型

    void类型 void的字面意思是"无类型",void * 则为无类型指针,void *可以指向任何类型的数据. void几乎只有"注释"和限制程序的作用. v ...

  2. 构建线性表的c语言代码,数据结构严蔚敏C语言版—线性表顺序存储结构(顺序表)C语言实现相关代码...

    1.运行环境 这里说明一下这里所有的C语言代码都是基于code::blocks 20.03编译运行的.当然一些其他集成开发环境应该也是可以的,个人不太喜欢功能太过强大的IDE,因为那同样意味着相关设置 ...

  3. c语言如何调用void函数返回值,C void函数,返回值

    没有表达式的return语句: void func(void) { return; } 在void函数中是完全合法的.带表达式的return语句的合法性取决于您正在使用的C语言的版本. 1990 C标 ...

  4. c语言 类void 方法 字节大小,C 语言数据类型

    C 语言数据类型 在本教程中,您将学习C编程中的基本数据类型,例如int,float,char等. 在C语言中有以下数据类型:类型数据类型 基本数据类型int, char, float, double ...

  5. C语言实现用指定字符切割字符串并返回数组

    #include <stdio.h> #include <string.h> #include <stdlib.h>//返回一个 char *arr[], size ...

  6. c语言在函数中返回数组,关于C语言函数返回数组的问题

    关于C语言函数返回一个数组 c语言中函数不能直接返回一个数组,但是可以用其他方式实现类似功能,不过需要注意: 1.该数组不能是返回函数的局部变量数组,因为局部变量数组在退出函数后会被释放. 可以是全局 ...

  7. go 通道 返回_GCTT 出品 | Go 语言的缓冲通道:提示和技巧

    通道和 goroutine 是 Go 语言基于 CSP( communicating sequential processes ,通信顺序进程)并发机制的核心部分.阅读本文可以学到一些关于channe ...

  8. 函数c语言表示_C语言定义无参数的函数时,f()和f(void)有什么区别?

    相信C语言初学者常会在前辈留下的项目,或者一些开源项目中看到以 void 作为参数的函数,例如 void fun(void),虽然我们都明白在C语言中,"void"表示空,但是按理 ...

  9. c语言能实现函数返回的语句,C语言实现函数返回多值

    C C语言实现函数返回多值 笔者从事C语言教学多年,在教学中学生们常常会问到如何编写具有多个返回值的C语言函数.编写有多个返回值的函数是所有C语言教材里均没有提到的知识点,但在实际教学与应用的过程中我 ...

  10. c语言 return两个值,c语言return能不能有2个以上返回值

    c语言return能不能有2个以上返回值 c语言return能不能有2个返回值 比如说return(a,b) 更新时间:2019-05-18 06:19 最满意答案 不是,要想返回2个以上返回值,建议 ...

最新文章

  1. ImageResizer for .net 图片处理强大类库
  2. 清华大学:2021元宇宙研究报告!(附PPT下载)
  3. Autodesk Motionbuilder 2016中文版
  4. DCMTK:从ASCII转储创建DICOM FileFormat或DataSet
  5. 计算机中丢失mpr.dll,mprmsg.dll
  6. JAVA 程序员需要用到 10 个测试框架和库
  7. 【开源项目】二、Smart Admin 通用型中后台解决方案
  8. CAPL编程语言简介
  9. 转载 | 各种数据库JDBC下载
  10. 计算机考研408(计算机网络(持续更新))
  11. sql2000安装sp4补丁包教程_sql2000sp4
  12. (个人笔记)EDEM耦合Recurdyn流程
  13. SPSS中的数据分析—描述性统计分析【2】
  14. 三维扫描仪行业调研报告 - 市场现状分析与发展前景预测
  15. VIS2020 长论文摘要机翻
  16. 12款华丽的Admin管理后台模板
  17. Debussy软件简介及仿真教程
  18. linux如何更改mac地址
  19. php 在线选座,基于jquery实现在线选座订座之影院篇
  20. 炬源繁荣气化炉炸酱面

热门文章

  1. css3 字体自动换行第二行缩进一格
  2. 2015桐庐年会--奔跑吧,骚年
  3. oppo A37T刷机 ROOT 以及无信号解决办法
  4. 如何实现“轻高精地图”的城市NOH?毫末自动驾驶的8大亮点
  5. oracle lob 字段清理,Oracle数据库高水位释放——LOB字段空间释放
  6. oracle如何清理sys_lob,清理 oracle lobsegment | 学步园
  7. 江苏省苏州市工业园与市区医保公积金合并线上操作指南
  8. redis底层数据结构(redis底层存储结构、源码分析)
  9. softlockup原理分析
  10. OLED屏显传感器数据显示到OLED上