char *B2G (long long b)
{
//static char g[10]; //value do not change
char g[10]; //null
//char *g; //crash
if (b > 999999999) {
sprintf(g, "%.2fGB", b/1073741824.0);
} else {
if (b > 999999) {
sprintf(g, "%.2fMB", b/1048576.0);
} else {
if (b > 999) {
sprintf(g, "%.2fKB", b/1024.0);
} else {
sprintf(g,"%d B", b);
}
}
}
return g;
}
B2G(m);
局部变量用完销毁,返回空,static值不变,怎么解决?
【c/c++】function returns address of local variable_dmcler的博客-优快云博客
char *g = malloc(10);