こんにちは、友人がこのコードを見せて、配列/スタック バウンド チェックについて説明しました。
#include <stdio.h>
void foo() {
unsigned long long a[1];
a[3] -= 5;
printf("Print me!\n");
}
int main(){
foo();
return 0;
}
このコードを実行すると、常に「Print me!\n」と表示され続け、停止しません。MingW 64bit でコードをコンパイルしました。ここで何が起こっているのですか?なぜテキストを印刷し続けるのか、誰かに説明してもらいたいです。