本帖最后由 yanghelovehuang 于 2018-9-3 17:19 编辑
大神们 函数不能返回栈变量(局部变量),因为栈变量(局部变量)到函数结束时就会被释放。但是今天在网上看到一个人写的程序:
int getLen(int num) //计算该数一共有多少位(长度){
int flags = 0;
for (num; num >0 ; num/=10)
{ flags++; }
return flags; //返回位数(长度)
}
他好多函数都是这样返回栈变量 他这样不对吧? 毕竟是网上大神发的帖子我也不敢随便怀疑,所以问下大家对吗? 如果对 不能返回栈变量为什么他就可以?
|