这些标志是什么意思?^@

kuk*_*wer 3 c bash printf cat

我用这段代码编译了c程序

printf("|%5c|", '\0'); 宽度 5 只是举例

然后在 a.out 上使用 cat -e

./a.out | cat -e

并在输出上有这个

| ^@|$

'\0' 表示为 ^@ 对吗?它是什么以及它是如何工作的?

hob*_*bbs 5

^(对照)符号表示从ASCII值的64减法(或也许更准确地,第六和第七比特的清除,但它是64和95之间的值是相同的)。例如,“A”是65,^A是1。M是77,^M是13。“@”是64,所以^@是字符0的一种写法。