3493737237 发表于 2021-7-19 17:45:29

打印出来为什么多个n?

#include <stdio.h>

int main()
{
        printf(" @\n");
        printf("/ \\n");
       
        return 0;
}



加个 \ 就没有n了 原理是什么

昨非 发表于 2021-7-19 17:47:07

转义字符
反斜杠加n是换行
你可以自行百度下“转义字符表”

昨非 发表于 2021-7-19 17:49:03

https://baike.baidu.com/item/%E8%BD%AC%E4%B9%89%E5%AD%97%E7%AC%A6/86397?fr=aladdin

3493737237 发表于 2021-7-19 17:55:18

昨非 发表于 2021-7-19 17:49
https://baike.baidu.com/item/%E8%BD%AC%E4%B9%89%E5%AD%97%E7%AC%A6/86397?fr=aladdin

直接\n不行吗?为什么要\\n百度说\\代表一个\ 又是什么意思

3493737237 发表于 2021-7-19 17:57:58

标准答案是\\n 然后打印出来就不会显示n 如果我是\n 会多打印出一个n

3493737237 发表于 2021-7-19 18:00:33

3493737237 发表于 2021-7-19 17:57
标准答案是\\n 然后打印出来就不会显示n 如果我是\n 会多打印出一个n

我也不知道为什么\n会把n也打印出来 如果是\\n就不会打印出来所以才来问问

昨非 发表于 2021-7-19 18:02:08

3493737237 发表于 2021-7-19 17:55
直接\n不行吗?为什么要\\n百度说\\代表一个\ 又是什么意思

第一个printf中,@照常输出,\n转义输出换行
第二个printf中,/照常输出,连续两个\\,实际上时转义输出一个\,只剩下后面的n就照常输出了

3493737237 发表于 2021-7-19 18:02:25

昨非 发表于 2021-7-19 17:49
https://baike.baidu.com/item/%E8%BD%AC%E4%B9%89%E5%AD%97%E7%AC%A6/86397?fr=aladdin

#include <stdio.h>

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

      return 0;

}
第七行就是\\n为什么呢{:5_102:}

昨非 发表于 2021-7-19 18:03:37

把你想输出的部分单独写到代码里,一试便知
#include <stdio.h>

int main()
{
        printf("\\");
        return 0;
}

结果就是一个\

3493737237 发表于 2021-7-19 18:04:37

昨非 发表于 2021-7-19 18:03
把你想输出的部分单独写到代码里,一试便知

结果就是一个\

看看我发的那个代码第七行

昨非 发表于 2021-7-19 18:06:33

3493737237 发表于 2021-7-19 18:04
看看我发的那个代码第七行

一样的道理啊
前两个反斜杠连在一起打印为一个反斜杠,后面反斜杠加n换行

3493737237 发表于 2021-7-19 18:11:19

昨非 发表于 2021-7-19 18:06
一样的道理啊
前两个反斜杠连在一起打印为一个反斜杠,后面反斜杠加n换行

懂了懂了反斜杆不能直接打出来,要用两个反斜打印一个

昨非 发表于 2021-7-19 18:12:21

3493737237 发表于 2021-7-19 18:11
懂了懂了反斜杆不能直接打出来,要用两个反斜打印一个

就是这个意思{:10_323:}

3493737237 发表于 2021-7-19 19:50:08

昨非 发表于 2021-7-19 18:02
第一个printf中,@照常输出,\n转义输出换行
第二个printf中,/照常输出,连续两个\\,实际上时转义输出 ...

感谢!感谢!感谢!
页: [1]
查看完整版本: 打印出来为什么多个n?