我对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 上扫描了它,结果就是这样。
好吧,我知道 puts 实际上比 printf 更正确,但它仍然可以正常工作......
这里有什么问题?
我正在使用 AVG 防病毒软件和 Pelles C 进行编译。
提前致谢。