读书人

局部变量的回到?

发布时间: 2012-10-23 12:12:22 作者: rapoo

局部变量的返回????
int str_len(char *str)
{
int i = 0;
//int count = 0;

//for (i = 0; str[i]; i++)
//;

for (; *str; str++)
i++;

return i;
}

不是说不能返回局部变量吗?但是能正确执行。求指导!!!!!!!!!!

[解决办法]
C语言是不能返回局部变量的地址 C++里面叫引用 一样的!
[解决办法]
哥们你这返回的不是引用也不是指针,只是局部变量的副本,可以大胆的返回,没事的
[解决办法]
返回是局部量的拷
但返回局部量的地址就有
因指向的象不存在
[解决办法]
正确的说法应该是:不能返回局部变量的指针或者引用。

关于关于函数返回值的几种情况请参考:
http://blog.csdn.net/pathuang68/article/details/6332488

其中有详细的说法,只要你看完应该就不会再有此类问题。

读书人网 >C++

热点推荐