扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
函数要先声明后才能调用,声明分为两种如下:
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站制作、邯郸网络推广、小程序制作、邯郸网络营销、邯郸企业策划、邯郸品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供邯郸建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
先声明后定义:
void b();
void a()
{
b();
}
void b()
{
}
声明和定义在一个地方:
void b()
{
}
void a()
{
b(); //这样才能满足先声明后调用
}
你编译错误的原因应该是这样:
void a()
{
b(); //此时b还没有声明
}
void b()
{
};
先回答下第一个问题,子函数的实现方法可以放在使用它的主函数或者其它子函数后面,但是你的定义一定要在使用它之前;不然编译器怎么知道你用的函数square是什么,这就是我们经常包含头文件的一个目的,头文件是一些函数定义或者预编译命令。
修改是在#includestdio.h后面加
int square(int num);
第二个问题:num是在main定义是可以在main作用域内直接使用,或者当做参数传递给子函数,你的问题num为什么可以在子函数中用,首先你子函数的num并非main里的num只是你把他们名字写成一样了;main里num是通过值传递给子函数的num,实际他们两个num的内存地址是不一样的,你子函数换个名字去理解一下。
如果定义在调用之前,则可以不需要声明
如果定义在调用之后,则要 先声明,后调用
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流