我正在学习C并且想知道为什么以下示例中的按位NOT var buildIt = function(row){
var a = []
var input
for(var i = 0; i < row; i++){
input = prompt('Input: ');
a[i] = input.split('');
}
return a;
}
buildIt(3);
打印-1,:
~
答案 0 :(得分:4)
将%d
格式说明符用于printf
,您告诉它将unsigned int
值打印为int
。
由于您的机器很可能使用2的整数补码表示,因此将所有位设置为1的值解释为-1。
另一方面,如果您使用%u
格式说明符,则会将值打印为无符号。根据{{1}}的大小,此值将为: