C语言自定义函数中定义常量、变量的问题

C语言自定义函数中定义常量、变量的问题在c语言中自定义一个函数,然后在这个函数里定义一个变量ky如voidabc(void);intmain(void){````````... C语言自定义函数中定义常量、变量的问题
在c语言中自定义一个函数,然后在这个函数里定义一个变量ky

void abc(void);

int main(void)
{
``````````
abc();
`````````````
abc();
}

void abc(void)
{
int ky;
ky=1;
while(ky<=10)
{
``````````
ky=ky+1;
}
}
然后在主函数里多次调用此函数,那么是不是算多次定义了呢,但编译器(vs2017)却没有错误提示!程序依旧运行!请问这个变量ky是应该写在自定义函数的外面、里面还是写在主函数里?
展开
 我来答
百度网友c439f7c
2017-07-01 · TA获得超过185个赞
知道小有建树答主
回答量:348
采纳率:75%
帮助的人:190万
展开全部
显然提问者没有搞清楚 函数 声明和定义 这两个概念
第一行void abc(void); 是声明,不是定义,因为没有函数体,只是告诉Main函数,你要调用的abc函数是有的,定义在后面
Main函数中的abc函数是调用,调用当然可以多次使用,函数的作用也在于此,一次定义,多次调用,体现代码复用的好处
最后void abc(void){ …… } 到结束,是定义了,说明函数干什么的
ky 写 abc函数里 是推荐的方式,成为局部变量,函数调用完后,ky可被系统释放内存
ky不能写在Main函数里,abc将无法访问其他代码块(花括号内)的局部变量
ky可以写在最外面,即不在任何代码块内,且要写最顶行(建议),这样后续的函数都可以访问该(全局)变量,但一般建议不要过多使用全局变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2017-07-01 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7858万
展开全部
  1. 主函数里多次调用此函数,那么是不是算多次定义---不是,算一次定义

  2. 变量ky是应该写在自定义函数的外面、里面还是写在主函数里---取决于业务需求,你上面的写法就可以

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式