我编写了这个程序:
#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编译器。