单项选择题

以下四个程序段中,能正确执行的是( )。

A.char str[20],*p=str; scanf("%s",*p);
B.char *p; scanf("%s",p);
C.char str[20]; scanf("%s",&str[2]);
D.char str[20],*p=str; scanf("%s",p[2]);