C初心者によくある間違いですな…ただ、これが「なぜ間違いか」をきちんと説明できる、自称Cプログラマも少なかったりしますが。
// char* str は、他からわたってきていると思って下さい printf(str);
第二引数以降を与えなくてもスタックの下を覗きに行くんでしたっけ
これはセキュリティホールになりかねないので、割とバカにできません。
IPA ISEC セキュア・プログラミング講座:C/C++言語編 第10章 著名な脆弱性対策:フォーマット文字列攻撃対策
sprintf で同じことをやられたことがある。strcpy で事足りるというのに…。
・・・?あぁそうかstrの中身がフォーマットとして認識されるってことは・・・