关于函数中static和return的问题

img
如图,请问大佬为啥在splitstr函数里面我不加static程序就运行不出来,按理说我没用静态变量直接return应该就出字符串了啊 求解求解

不加static的话str是局部变量(存放在栈区)会在函数执行结束时被系统销毁,系统会回收str数组所占用的内存空间,也就无法返回到函数外面了
加static 就是静态变量(存放在堆区),堆区的静态变量在函数执行结束时不会被系统销毁和回收内存空间

函数内定义的变量只在该函数内有作用,当离开函数时其内部变量也会被销毁,static关键字的作用是让函数内的变量在离开函数时不被销毁,所以在离开函数后也可以被访问,你可以搜一下static这个关键字的用法