name 本身就是地址了
scanf接收到内容要存入某地址。&是取地址。char name[21]里,name就相当于这个字符数组的地址。或者你改成&name[0]也行。
scanf()的变量,基本数据类型的变量前面必须要加取地址府&,数组名就是地址,不用加,name 其实与&name[0] 等效的。