函数作用域导致的问题

今天写了个程序要求字符串提取字符,结果用了以下代码不能正确返回。

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;
}

放着提醒自己下。

posted @ 2012-09-27 22:46  望云风  阅读(217)  评论(0编辑  收藏  举报