void show(char a[]);等同于void show(const char * a);所以虽然看上去传的是数组(或者说,C风格的字符串),但实际上传的是字符指针,实质是传值。一般传参数分为传值、传引用。而传指针则是把“指针”这个变量传了过去,所以在程序内部和传值其实是一样的。如果要以传引用的方式传指针,要这么写void show(char* & a);或void show(char & a[]);