char * a; scanf("%s",a); 因为由于未给a赋值,因此a并无确定的值(其值不可预见),因此a所指向的单元也不可预见,这个未知的存储单元可能存储着有用的数据,这样可能破坏系统正常的工作状况。故程序无法运行