gpt4 book ai didi

c - 为什么 '?' 和 '\?' 在 C 中给出相同的输出?

转载 作者:太空狗 更新时间:2023-10-29 16:18:59 26 4
gpt4 key购买 nike

在 C 中,为什么这两段代码给出相同的输出?

#include<stdio.h>

int main(void)
{
const char c='\?';
printf("%c",c);
}

#include<stdio.h>

int main(void)
{
const char c='?';
printf("%c",c);
}

我知道当我们使用 printf() 时,反斜杠用于引号("'),反斜杠对编译器来说很明显,但为什么会这样为“?”工作?

最佳答案

\?是一个转义序列,完全等同于?,用于转义trigraphs。 :

#include <stdio.h>
int main(void) {
printf("%s %s", "??=", "?\?="); // output is # ??=
}

关于c - 为什么 '?' 和 '\?' 在 C 中给出相同的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50387852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com