【问题标题】:why i get error when I trying to print quotation [duplicate]为什么我在尝试打印报价时出错[重复]
【发布时间】:2017-11-16 13:40:43
【问题描述】:

我正在学习 c 编程,当我尝试在引号中打印“Hello World”时出现错误:

id 返回 1 个退出状态

这是我的代码,我正在使用代码块:

#include <stdio.h>

int main()
  {
    printf("\"Hello World\" ");

    return 0;
}

【问题讨论】:

  • 在构建或运行时是否出现错误?如果您在构建时遇到错误,请将其全部(完整且完整)复制为文本,然后编辑您的问题以粘贴错误。
  • 它对我有用。你如何编译/运行?
  • 另外你可能想添加一个像这样的换行符"\"Hello World\"\n"
  • 在这里为我工作。
  • 也许您的本地字符编码不兼容?我无法重现该错误。尝试使用 ASCII 值创建 char 变量:char quot = 0x22;printf("%cHello World%c", quot, quot);

标签: c codeblocks


【解决方案1】:
error: id returned 1 exit status 
       ^
 should be "l", not "i"

我相信是ld,而不是id。 Code::Blocks 使用 GCC 作为编译器,这极有可能是您在尝试再次编译之前没有关闭正在运行的程序

通常,ld(Windows 上为ld.exe)在无法访问所需文件时返回 1。这通常包括

  • 找不到要链接的目标文件(或Access denied
  • 找不到一个或多个要链接的符号
  • 无法打开可执行文件进行写入(或 AD)

你的程序看起来完全没问题,所以第二点不应该命中。在通常情况下,ld 不可能无法打开目标文件(除非您的驱动器有故障和文件系统不干净),因此第一点也几乎是不可能的。现在我们进入第三点。

一个简单的谷歌搜索给出了相同答案的完整页面:在尝试重新编译之前,您忘记关闭程序。

就是这样。

【讨论】:

  • 好地方。这就是为什么重新输入错误消息(而不是复制和粘贴)是一个坏主意!
  • @Steve - 仅供参考,在某些环境中,例如 Code::Blocks IDE,构建消息输出选项卡中未启用 复制/粘贴。很不幸,但确实如此。
  • @ryyker 好伤心 - 真的
  • @Steve - 是的。这不仅适用于 Code::Blocks,例如。 National Instruments 的 LabWindows/CVI 没有。当然,其他的确实允许复制,例如 Visual Studios。
  • 我关闭它并再次尝试但同样的错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-03
  • 2021-02-20
  • 2016-09-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-28
相关资源
最近更新 更多