C 知道
初学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;
}
收起
你不用记那么多定义定理概念公式你就用朴素的认知方法去想:当你执行add函数之前,x还根本不存在你执行了add,才定义了一个x那x如果想要保存自己的值,它总要把值放一个地方吧,放哪呢?
那执行完一次add函数,再次进入主函数,变量y的值也不是得重新定义吗?
那叫回到主函数,不是进入主函数我们打个比方吧:假如你现在打两份工,一份是送外卖,另一份是在KFC给人配菜那么你在送外卖的途中,如果遇到KFC的单子,就自己进店,换上工作服,配好,然后直接送问题来了你每次进店,从换好衣服开始,就是一个全新的任务,所有配料都要在周围现找,这次配的料不能带到下次而你的外卖一直在车里,不会因为你进了店就没了
明白了谢谢大佬
报告相同问题?
程序员都在用的中文IT技术交流社区
专业的中文 IT 技术社区,与千万技术人共成长
关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!