【问题标题】:Why doesn't this code seg fault? Does gcc turn it into a string literal?为什么这段代码没有段错误? gcc 是否将其转换为字符串文字?
【发布时间】:2022-12-17 12:47:37
【问题描述】:
#include <stdio.h>

void print(char* c) {
    printf("%s\n", c); //Uses %s to print a string
}

int main() {
    char a = 'd';
    print(&a);
    return 0;
}

当末尾没有空终止字符时,printf 如何知道在打印 'd' 后停止打印下一个字符?当我运行它时,它只是打印了 'd' 并结束了。这是正常行为吗?

【问题讨论】:

    标签: c string printf


    【解决方案1】:

    代码段错误,因为没有

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-09
    • 2016-01-16
    相关资源
    最近更新 更多