扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这是错误,既然函数定义要返回值,就返回一个值,不返回结果是未知的 c语言可以允许这样的代码,c++视为错误
创新互联是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的十多年时间我们累计服务了上千家以及全国政企客户,如石雕等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致夸奖。
这是vc2017结果:
deubg模式结果是4,release结果是0, 所以这个代码没有意义
debug模式 结果是4
release模式 结果是0
无返回值就是函数只执行数据处理,不返回值。函数定义时一般用void关键字表示无返回值。
如调用string类库中的int
i
=
strcmp("abc",
"abc")函数判断两个参数是不是相等,两个都"abc"
则i
=
0,这是有返回值的
不是必须有返回值。如果没有返回值类型名为"void"。
void函数的定义:
void+函数名()//无类型+函数名
{// 程序代码
}
如果没有返回值类型名为"void", 整数类型int 类型返回值为整数类型int,以此类推……
类型名有:void int long float int* long* float* ……
扩展资料:
需要说明的是:
1、一个C语言源程序可以由一个或多个源文件组成。
2、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。
4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(结构体、联合体、枚举型的声明的“}”后要加“ ;”。)
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
参考资料:
百度百科-函数
比如说 延时 中断
其实没有返回值不代表对程序没影响
如果在子函数里对全局变量做改变
那么其他函数在用这个变量时就是改变过得值
没有返回值只是代表了函数运行结果不是一个简单的数字
应该定义函数类型为void
注意 不能是不写
如果不写 那么默认返回值是int
只有明确写明返回值是void类型,那么才是没有返回值的
比如
void func(int a);
很正常啊,没有返回值,就是不需要返回值。
比如:定义一个函数,在函数中打印信息到屏幕上。
void displayMessage(char *msg) {
#ifdef NEED_DEBUG
printf("%s\n", msg);
#endif
}
很显然,调用这个函数,我不需要知道信息是不是已经打印到屏幕上了。(只有调试程序,才需要显示信息)
有很多类似的场景,比如:某个程序,根据给定的参数,在屏幕上绘制完成一个图像,而调用者不关心图像是不是绘得正确,因为正确与否不影响程序的继续执行。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流