对一段字符串取反,里面每位都是16进,把每一位分别取反,然后输出。如:“1ffc0a”第一个1,取反是E,第2位是f,取反为0,... #include "stdafx.h" #include "stdio.h" #include "string.h" int main(int argc, char* argv[]) { char str2[256]; int len; char str[] = "FF03cF"; char ch[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; len=strlen(str); strupr(str); for (int i=0; i<len; i++) { if ('0'<=str[i] && str[i]<='9') str2[i] = ch[15-(str[i]-'0')]; else if ('A'<=str[i] && str[i]<='F') str2[i] = ch[('F'-str[i])]; else str2[i] = str[i]; } str2[i] = 0; printf("%s",str2); }