You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NetBeans运行C代码返回退出码-1073741819问题求助

解决NetBeans中C程序运行报错exit value -1073741819的问题

首先给你拆解下这个错误码:-1073741819对应Windows系统的0xC0000005错误,也就是内存访问违规(Access Violation)。这说明你的代码存在内存操作不当的问题——测试代码能正常运行是因为没触发这类错误,而实际代码里藏着内存相关的坑,和控制台类型关系不大。

结合你给出的代码片段(int product, price, n_...),我给你列几个优先级最高的排查方向:

  • 检查scanf的用法是否正确:这是新手最容易踩的坑!如果你的输入语句是scanf("%d", price)这种写法,肯定会崩溃——scanf需要传入变量的地址,而不是变量本身。正确写法应该是scanf("%d", &price)。要是漏了&符号,程序会把变量的初始随机值当成内存地址去写入,直接触发访问违规。
  • 检查变量是否初始化:比如你定义了product、price这些变量,但在使用它们(比如计算、赋值)之前有没有先赋值?未初始化的局部变量会包含随机垃圾值,一旦参与运算或被当成指针使用,很容易引发内存错误。
  • 排查数组/指针的越界问题:如果代码里用到数组,看看是不是访问了超出数组范围的索引(比如数组大小是10,你访问了arr[10]);如果有指针操作,确认指针指向的内存是合法分配的(比如有没有用malloc分配,或者是不是空指针)。
  • 用NetBeans调试功能定位问题:别光靠运行看报错,打开调试模式(点击工具栏的调试按钮),在输入语句前后、关键计算步骤设置断点,一步步执行,看程序到底在哪个代码行崩溃。这样能精准锁定问题位置,比瞎猜高效多了。
  • 简化代码排查:把实际代码逐步删减,比如先只保留输入部分,去掉后面的计算逻辑,看是否还报错。如果不报错,说明问题出在后面的逻辑里;如果还是报错,那问题就集中在输入相关的代码段。

举个典型的错误示例:

// 错误写法:未传入变量地址
scanf("%d", price);
// 正确写法:传入变量的内存地址
scanf("%d", &price);

总之,这个错误的核心是代码的内存操作问题,和控制台设置关系不大,先从上面几个方向排查,应该能很快找到问题所在。

内容的提问来源于stack exchange,提问作者Spina97

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:05:04