1.printf(str)可以输出,为什么printf("%s\n",str)不能。 2.注释掉str...

发布网友 发布时间:2024-10-24 06:39

我来回答

1个回答

热心网友 时间:2024-11-07 02:53

你的第一个问题,两种情况是一样的,而且我用printf("%s\n",str);试了一下,确实是可以的,你看看是不是别的地方出了问题。

第二个问题,因为你在getmemory函数里,将字符串"hello world"赋给了局部变量p,
当getmemory函数结束后,p所对应的内存会被释放掉,所以getmemory函数返回的指针指向的内容是无效的,就是不知道会是些什么东西,所以如果你没有用strcpy(str,"abc");给str重新赋值会输出乱码,也就是你说的笑脸。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com