1、分析程序, 写出输出结果?
(1)
char *ptr;
if ((ptr = (char *)malloc(0)) == NULL)
puts("Got a null pointer");
else
puts("Got a valid pointer");
//输出Got a valid pointer malloc申请0空间会返回一个特定的指针而不是空。
(2)
char * GetStr()
{
char *tmp;
tmp = "123"
return tmp;
}
void main()
{
printf("%s.\n", GetStr());
}
输出123
123在代码段,是只读的。返回头指针打印是可以输出的,如果123在栈上,那么getstr调用结束之后就被释放&#x