VSCode中C语言 \0 的打印问题
1.直接以 string 的形式打印
int main() {
printf("afff\0jkjk");
printf("sfdk");
return 0;
}
afffsfdk
此时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
此时只有输出 abcdef,即打印第一个for循环后的 \0 出现了问题
3.不打印第一个for的 \0,打印第二个for的 \0
int main() {
char arr[] = "abcdef";
int size = sizeof(arr) / sizeof(char);
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;
}
abcdefabcdef
此时输出了两个for循环的abcdef,但是后面的没有输出