1、warning: address of local variable ‘xx’ returned [-Wreturn-local-addr]
原因:在函数内部定义变量,并返回
char xx[64] = {0};
…
return xx;
这样函数内部定义的变量在函数结束时被释放掉,所以返回是找不到的。
改为char xx=(char)malloc(64*sizeof(char));就可以了。
注意:使用static char xx[64]也能让警告消除,但是当你多次调用这个函数,很有可能会出现各种问题……
2、还是上面的定义
char xx=(char)malloc(64*sizeof(char))
…
return xx;
在返回xx之前,最好把x的最后一位设为’\0’,否则你返回的字符串,最后面很有可能是一堆乱码
注意:当你加’\0’时,记得关注一下你开辟的空间够不够,如果你把前面的64个全用完了,再加上’\0’就会溢出了