回 帖 发 新 帖 刷新版面

主题:"??/"有什么特殊涵义吗

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char a[]="ok??/n",b[]="ok?/",c[]="ok??",d[]="ok??\n";
    char e[]="ok??/";//"??/"有什么特殊意义吗,像这种问题一般去哪里查
    printf("%s\n%s\n%s\n%s\n%s\n",a,b,c,d,e);
    return 0;
}这个问题不知道有没有人遇到过,我很纳闷怎么会有这样的结果,谁给小弟说一下。

回复列表 (共2个回复)

沙发

"??/"没什么特殊意义

转单字符都是以\开始的
比如:\n回车符 \t制表符

板凳

你google一下 trigraphs,第一条里就有
Trigraph     Equivalent
??=     #
??/     \
??'     ^
??(     [
??)     ]
??!     |
??<     {
??>     }
??-     ~

所以你的 char e[]="ok??/" 其实就是 char e[]="ok\",当然是错误的啦
如果你想出书??/,代码应该改为 char e[]="ok\?\?/"

我来回复

您尚未登录,请登录后再回复。点此登录或注册