老牛来学习 发表于 2020-4-22 19:32:56

字符编译

#include<stdio.h>

int main()
{

    char a[] = "\007";
    printf("%s",a);

}


为什么这段代码什么都不显示

#include<stdio.h>

int main()
{

    char a[] = "\007n";
    printf("%s",a);

}


这样就会显示n

zltzlt 发表于 2020-4-22 19:35:12

因为 \007 是不可打印字符,也就是说它不能被打印到屏幕上,所以你啥也没看到。但是 n 是可打印字符,所以显示了 n

老牛来学习 发表于 2020-4-22 19:46:32

zltzlt 发表于 2020-4-22 19:35
因为 \007 是不可打印字符,也就是说它不能被打印到屏幕上,所以你啥也没看到。但是 n 是可打印字符,所以 ...

所以这样写是相当于字符007还是字符\0和07

老牛来学习 发表于 2020-4-22 19:51:59

zltzlt 发表于 2020-4-22 19:35
因为 \007 是不可打印字符,也就是说它不能被打印到屏幕上,所以你啥也没看到。但是 n 是可打印字符,所以 ...

是八进制07是吧

zltzlt 发表于 2020-4-22 19:52:42

老牛来学习 发表于 2020-4-22 19:46
所以这样写是相当于字符007还是字符\0和07

相当于 Unicode 编码为 7 的字符
页: [1]
查看完整版本: 字符编译