鱼C论坛

 找回密码
 立即注册
查看: 1535|回复: 7

[已解决]就是一个编码问题

[复制链接]
发表于 2019-3-7 15:06:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

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


求解为什么运行失败。

最佳答案
2019-3-7 15:27:01
本帖最后由 jackz007 于 2019-3-7 15:31 编辑

    楼主,更正一下,不是运行失败,而是编译失败。
    问题出在 printf() 的倒数第2行,行尾缺少续行符
  1.                  * * * * * * \n
  2. ");
复制代码

    这样才对
  1.                  * * * * * * \n\
  2. ");
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-3-7 15:27:01 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2019-3-7 15:31 编辑

    楼主,更正一下,不是运行失败,而是编译失败。
    问题出在 printf() 的倒数第2行,行尾缺少续行符
  1.                  * * * * * * \n
  2. ");
复制代码

    这样才对
  1.                  * * * * * * \n\
  2. ");
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-7 17:53:23 | 显示全部楼层
jackz007 发表于 2019-3-7 15:27
楼主,更正一下,不是运行失败,而是编译失败。
    问题出在 printf() 的倒数第2行,行尾缺少续行符
...

好像行了 但是我还想问一下 就是:\n\和\n有什么区别啊 我问了别人 他们用\n 也可以运行 怎么回事呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-7 18:12:12 | 显示全部楼层
本帖最后由 jackz007 于 2019-3-7 18:17 编辑

      在 C 语言中,当一条语句过长,用一行写不下或不方便时,可以续行,就是把这条长语句打断成若干个段落,用连续的若干行来表示,当然,每一行的末尾必须要加上续行符。字符 '\' 就是续行符(可以参考本例 printf 语句)。用续行符有个约定,续行符必须是所在行除回车符以外的最后一个字符,也就是说,在续行符的后面不允许出现任何字符特别是空格字符。

      有了这些概念,\n 和 \n\  的区别就很显然了,\n 是错误的,因为缺少续行符。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-7 21:18:30 | 显示全部楼层
jackz007 发表于 2019-3-7 18:12
在 C 语言中,当一条语句过长,用一行写不下或不方便时,可以续行,就是把这条长语句打断成若干个段 ...

#include <stdio.h>

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



这个代码为什么能运行?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-7 21:57:56 | 显示全部楼层
jackz007 发表于 2019-3-7 18:12
在 C 语言中,当一条语句过长,用一行写不下或不方便时,可以续行,就是把这条长语句打断成若干个段 ...

#include <stdio.h>

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

这个为什么能运行啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-7 21:58:08 | 显示全部楼层

      运行没问题,但是,你这一行代码是不是必须得拉动窗口卷动棒才可以看完整,是不是会感到不方便?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-7 21:58:53 | 显示全部楼层
jackz007 发表于 2019-3-7 21:58
运行没问题,但是,你这一行代码是不是必须得拉动窗口卷动棒才可以看完整,是不是会感到不方便?

懂了谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-28 13:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表