VSCode中C语言 \0 的打印问题

1. 直接打印

int main() {
    printf("afff\0jkjk");
    printf("sfdk");
    return 0;
}
此时output会输出afffsfdk,即\0后面的jkjk没有打印
 
2. 打印char数组
int main() {
    char arr[] = "abcdef";
    int size = sizeof(arr) / sizeof(char);
    for(int i = 0; i < 7; i++) {
        printf("%c", arr[i]);
    }
    for(int i = 0; i < 7; i++) {
        printf("%c", arr[i]);
    }
    printf("afff\0jkjk");
    printf("sfdk");

    return 0;
}
此时只有输出 abcdef,即打印第一个for循环后的 \0 出现了问题
 
3.
int main() {
    char arr[] = "abcdef";
    int size = sizeof(arr) / sizeof(char);
    //printf("%c\n",arr[6]);
    for(int i = 0; i < 6; i++) {
        printf("%c", arr[i]);
    }
    for(int i = 0; i < 7; i++) {
        printf("%c", arr[i]);
    }
    printf("afff\0jkjk");
    printf("sfdk");

    return 0;
}
此时输出了两个for循环的abcdef,但是后面的没有输出
posted @ 2022-07-11 17:14  行行重行行s  阅读(229)  评论(0)    收藏  举报