输出字符串时之所以会输出所有字符:是因为“%s” 为从指针地址开始按照字符输出,直到遇'\0',所以用”%d,%x”等输出指针只会以对应形式输出该地址对应的值,而不会继续输出之后的值。
#include <string> int main(){ char * he = "ABCDEF" printf("%x",he); //41 printf("%p",he); //0x5583209b5004 printf("%4x",he); // 41 printf("%s",he); //ABCDEF }