>>55
C++の流儀に従うなら従う、必要機能以外C互換機能で済ますなら済ます、どっちかにしろってことだろう。

でも任意箇所での変数宣言はC99とかならCでもできるし(-Dprintf_s=printfつければtccでも通る)、
printf_sに目を瞑ればた只々下手クソなCコードととしてコンパイル通るといえば通る。
(手元にあるVC2010のCL /TCでは非ブロック先頭変数宣言でコケるので違うかもだが)

printf_s使ってる辺り(聞きかじりの)新機能使ってCのコード書いてるつもりなのか、
C++の講義だけどCのAPIしか叩かないちょっとアレな方針なのか、どっちだろうな。
scanf/printfは便利だけど、C++の講義なら早々に済ませてstd::cout/std::cin使うべきだろう。