私は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 を使用してコンパイルしています。
前もって感謝します。