【发布时间】:2019-07-07 05:21:55
【问题描述】:
我正在尝试使用文本编辑器 Sublime 在 C 中编写一个简单的代码。 问题是,当我尝试使用 scanf 函数时出现错误。
#include<stdio.h>
#include<stdlib.h>
int main(){
int a;
scanf("%d",&a);
printf("testing %d",a);
return 0;
}
错误:
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe:无法打开输出文件cccc.exe : 没有权限 collect2.exe:错误:ld 返回 1 个退出状态
【问题讨论】:
-
这似乎是一个权限问题
-
您的代码编译成功,对其进行实时测试:segfault.stensal.com/a/b0nHamZUXjg1hFP4。这不是 C 题,是你的文件权限问题。
-
尝试省略扫描...
a = 42; //scanf("%d",&a); -
一般来说,在问题正文的文本中包含错误/警告总是一个好主意。
-
scanf从stdin收集输入;在 Sublime 的输出面板中执行的程序没有连接到它们的stdin;因此他们永远挂着等待您无法提供的输入。您假设您的代码已损坏并尝试再次运行它,但之前的版本已经在运行,该版本已锁定文件,并且链接器无法重新链接。极其常见的问题(但在 SO 上找到它非常困难)。问题的答案是不要直接在 Sublime 中运行交互式程序。
标签: c scanf sublimetext3