printf文は何回実行される?

#include
main()
{
char s[] = "POINTER";
char *p;

for(p = s; *p; p++) printf("%c\n", *p);
}

ポインタ変数pにははじめ、値Pのアドレスが入っている。
for文が一回回る毎に変数pはP→O→I→N→T→E→Rとずれていく。
Rのあと変数pにはNULLのアドレスが入ってforの条件に当てはまらなくなるので終了。
よってprintf文は文字分、つまり7回実行される。でいいのかな?