使用return注意事項
return不能返回區域性變數的地址
例:
#include <stdio.h>
char*func()
{
char src[100] = "hello world";
return src;
}
int main(){
char *temp = func();
printf("temp = %s\n",temp);
return 0;
}
執行結果:
原因:因為函式在呼叫完後會釋放空間,return在返回的時候函式同時也在釋放,所以 只返回了前面幾個,後面的空間就被釋放了,所以輸出了亂碼。