主要的

...
            char coords;
            get_coords(1, &coords);
            printf("{%s}", coords);
...

获取坐标:
void get_coords(int num, char *coords){
    if (num == 1){
        *coords = '0-0';
    }
}

当代码试图执行printf并简单地返回错误时,似乎会出现问题。。。如果我把它去掉,或者把它去掉,它会工作的很好。。。

最佳答案

char coords;

printf("{%s}", coords);

coords是一个char而不是字符串。%s转换规范需要一个char *参数,而不是char。传递char类型的对象是未定义的行为。

关于c - c打印char指针,该指针在函数中更改值时在main中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13888100/

10-15 00:26