【发布时间】:2013-10-27 20:11:56
【问题描述】:
我对 C 有点生疏了,但是我遇到了这个奇怪的问题:
我写了这个程序:
#include <stdio.h>
main()
{
int n;
n=1;
while (n>0)
{
puts("Write a number: ");
scanf(" %d",&n);
printf("This is the number you wrote: %d\n", n);
}
}
显然绝对没有语法错误,据我所知,也没有任何编译错误。它完美地编译和构建。 现在,如果我切换这一行:
puts("Write a number: ");
用这个:
printf("Write a number: ");
它编译时没有错误,但是当编译的对象启动时,它会立即停止并弹出一个防病毒警告,说它识别出一个特洛伊木马。在得出任何结论之前,我构建了几次,在收到相同的消息后,我在 virustotal.com 中扫描了它,结果是this。
好吧,我知道 puts 实际上比 printf 更正确,但它仍然应该可以正常工作......
这里有什么问题?
我用的是AVG杀毒,Pelles C编译。
提前致谢。
【问题讨论】:
-
这个问题似乎离题了,因为它是关于防病毒软件中的错误。
-
AVG 出了什么问题。就是这样。或者你已经被感染了。
-
在作者提供的链接中,许多 AV 工具将其标记为病毒。这不仅仅是“AVG”。
-
如果你使用不同的编译器会发生同样的事情吗?
-
AVG 喜欢将自己检测为病毒。