局部变量的返回????
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
其中有详细的说法,只要你看完应该就不会再有此类问题。