DIoser 2022-06-20 16:33 采纳率: 100%
浏览 40
已结题

为什么运行代码时,变量x的值会一直重置为1,而变量y则会一直累加直到为10?

初学c语言,为什么运行代码时,变量x的值会一直重置为1,而变量y则会一直累加直到为10?
#include<stdio.h>
void add()
{
int x= 1;
x++;
printf("%d ", x);
}
int main()
{
int y = 0;
while (y < 10)
{

    y++;
    add();
}
return 0;

}

  • 写回答

2条回答 默认 最新

  • 於黾 2022-06-21 00:01
    关注

    你不用记那么多定义定理概念公式
    你就用朴素的认知方法去想:
    当你执行add函数之前,x还根本不存在
    你执行了add,才定义了一个x
    那x如果想要保存自己的值,它总要把值放一个地方吧,放哪呢?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    DIoser 2022-06-21 15:36

    那执行完一次add函数,再次进入主函数,变量y的值也不是得重新定义吗?

    回复
    於黾 回复 DIoser 2022-06-21 23:41

    那叫回到主函数,不是进入主函数
    我们打个比方吧:
    假如你现在打两份工,一份是送外卖,另一份是在KFC给人配菜
    那么你在送外卖的途中,如果遇到KFC的单子,就自己进店,换上工作服,配好,然后直接送
    问题来了
    你每次进店,从换好衣服开始,就是一个全新的任务,所有配料都要在周围现找,这次配的料不能带到下次
    而你的外卖一直在车里,不会因为你进了店就没了

    回复
    DIoser 回复 於黾 2022-06-22 05:31

    明白了谢谢大佬

    回复
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 6月29日
  • 已采纳回答 6月22日
  • 创建了问题 6月20日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部