C语言永远的神 发表于 2021-1-16 18:22:50

萌新提问,为什么飞机旁边多了个字符

这是代码
#include <stdio.h>

int main()
{
      printf("\n\
         @\n\
      / \\\n\
      * *\n\
      * *\n\
      * *\n\
    * * * * * *\n\
* * * * * * * *\n\
* * * * * * * * * *\n\
      * *\n\
      * *\n\
      * * * *\n\
    * * * * * *\n");

      return 0;
}
可以打印出一个 @ 为飞机头的飞机,但是飞机头下面那行代码多了个 \ 在程序上却没显示出来
         @\n\
      / \\\n\

C语言永远的神 发表于 2021-1-16 18:33:14

不会发悬赏。。

jackz007 发表于 2021-1-16 18:33:15

本帖最后由 jackz007 于 2021-1-16 18:36 编辑

D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x

         @
      / \
      * *
      * *
      * *
    * * * * * *
* * * * * * * *
* * * * * * * * * *
      * *
      * *
      * * * *
    * * * * * *

D:\00.Excise\C>
       敢问楼主,哪一个字符多余?
      
       如果一行代码的最后一个字符是 '\' ,那么,这个字符是续行符,意思是,本行剩余的内容在下一行。

C语言永远的神 发表于 2021-1-16 18:41:07

jackz007 发表于 2021-1-16 18:33
敢问楼主,哪一个字符多余?
      
       如果一行代码的最后一个字符是 '\' ,那么,这个 ...


    @\n\
   / \\\n\
为什么不是
    @\n\
    / \\n\

followzcj 发表于 2021-1-16 18:44:52

printf里面“\\”显示出来就是"\",和"\n"表示换行一个意思,"\\"就是打印一个"\"

风过无痕1989 发表于 2021-1-16 20:41:01

C语言永远的神 发表于 2021-1-16 18:33
不会发悬赏。。

求助最好别发悬赏!因为悬赏的帖子被选为最佳答案,就只能得到你悬赏的那几个鱼币,普通求助帖,被选为最佳答案后,系统奖励 鱼币+3,荣誉+2,技术+1,是获得 技术值 的唯一途经

风过无痕1989 发表于 2021-1-16 20:49:48

怎么在程序里面输出反斜杠 '\' ?直接用 '\' 可以么?答案是不可以的。因为 '\'在语言里面已经被认作是转义字符的开始,它后面必须还有一个字符和它“绑在一起”,也就是“两个”字符表示一个特殊的字符。 '\' 和 \ 绑在一起是右边的 ' 符号,这样一来,坐标的 ' 就没人配对了,因此会编译出错。在程序里面输出反斜杠 '\' 的正确方法是用转义字符 ‘\\’ 。

所以,/ 将作为字符输出, \\ 输出一个反斜杠,\n 输出一个换行,最后一个反斜杠作为连接下面连接之用 \

C语言永远的神 发表于 2021-1-17 17:39:59

风过无痕1989 发表于 2021-1-16 20:49
怎么在程序里面输出反斜杠 '\' ?直接用 '\' 可以么?答案是不可以的。因为 '\'在语言里面已经被认作是转义 ...

这个最佳答案是系统默认的吗,我没选就有最佳了

风过无痕1989 发表于 2021-1-17 17:52:13

C语言永远的神 发表于 2021-1-17 17:39
这个最佳答案是系统默认的吗,我没选就有最佳了

不是系统默认的,要不就是你不小心点了。如果你觉得选错了,可以点你帖子右下的举报,说明情况及应该选哪层楼的答案为最佳答案,小甲鱼或不二如是会帮你将最佳答案修正过来的。
页: [1]
查看完整版本: 萌新提问,为什么飞机旁边多了个字符