丢的FC 发表于 2024-4-11 13:24:00

为什么和答案敲的代码一样但是不能运行

#include <stdio.h>

int main()
{
                printf("\n\
               @\n\
      / \\\n\
      * *\n\
      * *\n\
      * *\n\
    * * * * * * *\n\
* * * * * * * * *\n\
* * * * * * * * * * *\n\
          * *\n\
          * *\n\
          * * * *\n\
        * * * * * *\n\");
                  
      return 0;
}
printf那里提示错误: missing terminating " character
{:5_104:}

FishC 发表于 2024-4-11 13:24:11

你好!这个问题是因为在你的代码中有一个引号没有正确地转义。在C语言中,使用反斜杠(\)来转义特殊字符,包括双引号(")。所以你需要将下面的代码:

printf("\n\
@\n\
    / \\\n\
    * *\n\
    * *\n\
    * *\n\
* * * * * * *\n\
* * * * * * * * *\n\
* * * * * * * * * * *\n\
    * *\n\
    * *\n\
* * * *\n\
* * * * * *\n\"");

改成这样:

printf("\n\
@\n\
    / \\\n\
    * *\n\
    * *\n\
    * *\n\
* * * * * * *\n\
* * * * * * * * *\n\
* * * * * * * * * * *\n\
    * *\n\
    * *\n\
* * * *\n\
* * * * * *\\n\"");

请注意,我在最后的引号前添加了一个反斜杠,这样可以转义引号并让程序正确运行。希望这个答案能够解决你的问题!如果还有任何疑问,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

jackz007 发表于 2024-4-11 15:08:48

本帖最后由 jackz007 于 2024-4-11 15:14 编辑

      此行有误
#include <stdio.h>

int main()
{
      printf("\n\
. . . . . .
      * * * * * *\n\\") ;   // 字符串末尾双引号前带转义字符 '\','\\"' 转义使字符串失去了末尾的双引号
      应该改为:

      * * * * * *\n") ;
页: [1]
查看完整版本: 为什么和答案敲的代码一样但是不能运行