首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-12-29 
问个 C 语言运算符的问题int d 0d ~1printf(%d\r\n, d)/* 输出 -2,这个好理解 */d ~+1printf(

问个 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

热点排行