问个 C 语言运算符的问题
int d = 0;
d = ~1;
printf("%d\r\n", d); /* 输出 -2,这个好理解 */
d = ~+1;
printf("%d\r\n", d); /* 输出 -2,不理解,~ 和 + 都是运算符,两个运算符连在一起? */
d = +~+1;
printf("%d\r\n", d); /* 输出 -2,不理解 */
d = +~~+1; /* 输出 1,不理解 */
printf("%d\r\n", d);
[解决办法]
这里的“+”就是符号的意思,表示正号,所以和'~1'是一样的
“+”与上面解释一样,两次取反所以还是1