这个不能够。因为以%s输出字母a,必须要以两个相邻的字节保存'a'和'\0'。而char c='a'它只有一个字节,且未知相邻的字节(属于别的存储单元)是何内容。除非是把c的内容复制到别的字符串或字符数组中。
char *s="a";printf("%s",s);