宫宸 发表于 2021-8-26 23:10:58

C语言S1E3问题求助

#include<stdio.h>
int main()
{
        printf("FishC.com no\"fish\"\n");
       
}
为什么没有fish左右的"\"就显示错误?
他们的作用是什么?

YaoShi 发表于 2021-8-26 23:31:11

\是转义符号
字符串是根据“ ”识别的    用\"和 \"就是告诉这两个引号是要打印的内容不是用来识别字符串的
去掉两个\后    原字符串就变成了 "FishC.com no"fish"\n"运行程序会先识别字符串FishC.com no   识别依据就是头尾两对引号然后fish没有被引号包住运行程序无法识别
总而言之    “”在程序运行中有特殊含义(标志字符、字符串)不能直接打印   要打印引号需要转义    建议去了解一下转义字符

超过光速c 发表于 2021-8-27 08:40:59

\ 转义符号,楼上解释的很贴心。

wataame 发表于 2021-8-27 10:26:41

通俗一点, / 就是用来将后面的双引号给转换为要打印的内容。

否则你看:printf("FishC.com no"

系统是不是会认为你要打印的字符到这里就结束了(被双引号括起来的部分)

同理,还有一些和系统冲突的符号,比如单引号。想把单引号打印出来同样得加上 \

就像这样:\'

{:10_323:}
页: [1]
查看完整版本: C语言S1E3问题求助