如何打印由函数(C)返回的char指针?

时间:2019-06-20 15:41:46

标签: c string.h

我正在尝试打印函数返回的char指针,但是输出总是乱码。

我尝试将函数类型更改为char [],但这会出错。  我也尝试过将char []强制转换为char *,但这会导致堆栈损坏。我注意到,如果将变量'b'打印在return语句之前的函数中,则它将正确显示。

#include <stdio.h>
#include <string.h>

char *the()
{
    char a[100] = "Ace of Spades";
    char * b = &a[0];

    return b;
}
int main(void)
{

        printf("%s\n", the());

}

预期结果:enter image description here 实际结果:enter image description here

0 个答案:

没有答案