【发布时间】:2020-07-24 20:13:36
【问题描述】:
我已经用 C 语言编写了代码,
#include<stdio.h>
int main(void)
{
char c[]="Suck It Big";
char *p=c;
printf("%c\n",p);
printf("%c\n",p[3]);
printf("%c\n",++p);
printf("%d\n",p);
printf("%d\n",p[3]);
}
我在输出的第 1 行和第 3 行复制了奇怪的字符并将其粘贴到编辑器上,得到了“DLE”。谁能解释一下这是什么意思。
【问题讨论】:
-
您正在尝试将指针打印为
char。那是未定义的行为。 -
“DLE”和 ?span>
-
怎么样?这是未定义的行为。试图解释未定义的行为是没有意义的。
-
@kaylum .. 我检查了 DLE 的东西.. 它可能是一个代表 DLE(数据链接转义)的 ascii 字符.. 我认为答案还有更多。
标签: c output ascii non-ascii-characters