#include <stdio.h> int main() { signed int a; printf(""); scanf("%x",&a); printf("-%x\n",-a); //为什么要加负号,("%x\n",a)为什么不可以 return 0; }
因为你格式化成16进制了,16进制不存在负数