1是整形值,'1'是字符值如果作为acs码,1就为\0x01,而'1'是\0x31(即十进制49)你可以通过输出来比较printf("%d%d",1,'1');结果是149printf("%c%c",1,'1');结果是1,作为字符输出时,'1'就是1了,而asc码1是soh,不能正常显示