$前面的数字表示第几个参数如果不加,那么默认跟后面传递的参数顺序一致,一一对应但是显然,第一个参数是个字符串,不是E,那顺序全乱了所以你看答案,第一个数字分别是3,2,1,4,这就跟后面传入的4个参数对上了如果后续格式化字符串里面有".",那$符号可省略不写,如果没有点,那么必须写,否则跟别的数字混一起了至于总场宽,其实就是打印出来一共占据几个字符那么宽的意思,不足用空格补齐注意前面针对数字、字符串和字符提了3个不同的要求,并不是三个要求要同时作用于所有的数据