今天写了个程序要求字符串提取字符,结果用了以下代码不能正确返回。
char* CharToStr(char a, char b) { char str[3]; str[0] = a; str[1] = b; str[2] = '\0'; return str; }
后来网上查了下,才发现是作用域的问题。
可以用static保存返回值。
char* CharToStr(char a, char b) { static char str[3]; str[0] = a; str[1] = b; str[2] = '\0'; return str; }
放着提醒自己下。