char *x = NULL——这样只是声明了一个指针x,它没有指向,是野指针,不能使用,得改成char x[30],这样编译时就为x分配了30字节,就可以向里输入字符了。

scanf("input a string: %s",&x)——其中的input a string: 在输入字符串时必须输入,所以这是不可取的,改成scanf("%s",&x)就可以了,&最好不要,因为x已经是与%s匹配的指针了。