C++ の一部のプログラムで奇妙な動作が発生していることに気付きました。その原因を突き止めようとしたところ、コンソール出力で何か問題が発生していることがわかりました。同じ動作で iostream および cstdio 関数を使用しました。コンソールに何かを印刷すると、まったく表示されません。この奇妙な動作を観察するために使用したコードを次に示します。このコードは、すべてを適切に出力します (IMO ではない場合でも)。
#include <cstdio>
using namespace std;
int main(void) {
int a = 0;
scanf("%d", &a);
a++;
printf("result is %d", a);
}
ただし、これは(正しいと思います)何も表示せず、実行終了メッセージのみが表示されます
#include <cstdio>
using namespace std;
int main(void) {
int a = 0;
scanf("%d", &a);
a++;
printf("result is %d \n", a);
}
「\n」の前のスペースを削除して試してみましたが、違いはありませんでした。ただし、プログラムの最後に「\ n」を付けて同じprintf関数をさらに配置すると、すべてが正しく表示されます(もちろん複数回)。Iostream も同様に動作します。endl を使用しても、コンソールには何も表示されません。私は何を間違っていますか?誤動作の原因となった元のコードに関しては、私の出力では何も表示されないことに気付きましたが、私の学校では、同じコードがすべてを正しく出力しました。NetBeans 8.0.2 で作業しています。助けてくれてありがとう