读书人

问个 C 语言运算符的有关问题

发布时间: 2012-12-29 10:28:09 作者: rapoo

问个 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);
[解决办法]

引用
d = ~+1;
printf("%d\r\n", d); /* 输出 -2,不理解,~ 和 + 都是运算符,两个运算符连在一起? */
d = +~+1;
printf("%d\r\n", d); /* 输出 -2,不理解 */

这里的“+”就是符号的意思,表示正号,所以和'~1'是一样的
引用
d = +~~+1; /* 输出 1,不理解 */
printf("%d\r\n", d);

“+”与上面解释一样,两次取反所以还是1

读书人网 >C语言

热点推荐