【发布时间】:2020-09-17 06:37:25
【问题描述】:
S:\C>gcc update.c -o update
S:\C>.\update.exe
Access is denied.
文件中的代码
#include <stdio.h>
int main() {
struct fish {
char name;
int id1;
int id2;
float f1;
double d1;
double d2;
double d3;
};
struct fish f;
printf("%d\n", sizeof(f));
printf("%d\n", &f.name);
printf("%d\n", &f.id1);
printf("%d\n", &f.id2);
printf("%d\n", &f.f1);
printf("%d\n", &f.d1);
printf("%d\n", &f.d2);
printf("%d\n", &f.d3);
return 0;
}
当我安装MinGW 时,它运行了好几天(即使防病毒实时保护已打开),现在当防病毒实时保护打开或关闭时它给我Access is denied 错误。
可能有什么问题?
【问题讨论】:
-
这似乎不是 C 问题...我相信您的操作系统拒绝访问可执行文件。
-
起初我会尝试从我的用户目录运行它,并确保所有权和访问控制设置正确。您可以在此处找到有关此错误的一些信息:windowsreport.com/access-is-denied-windows-10
-
@Anonymous BTW 你的代码有问题,
printf的格式不正确,printf("%d\n", &f.name);,你应该删除&运算符,你应该在之前初始化结构打印,struct fish f = {0,0,0,0,0,0,0};. -
@anastaciu 我的意思是匿名,对不起
-
@Anonymous,你的意思是他们没有执行对吗?无论如何,我只是指出代码中的问题,当您解决问题时,您也应该修复该代码。如果您还没有尝试过,您应该尝试的另一件事是给您的可执行文件一个不同的名称。