C语言中的无符号整型变量设i=0;如果执行i--;后i等于多少呀?

2025-04-06 11:09:16
推荐回答(4个)
回答1:

如果是unsigned char,那么i=255;
C语言中的无符号整型变量设i=0;如果执行i--;
那就i=-1,因为它是无符号型量,所以就是2^(8*sizeof(i))-1。
如果是unsigned char,那么i=255;
如果是unsigned short int,那么i=65535;
如果是unsigned int,那么i= 4294967295; (32位,4字节)

回答2:

后缀自减;
#include
using namespace std;
int main()
{
int i=0;
cout< system("pause");
return 0;
}
这是执行一步后缀自减后的也就是结果为零。因为后缀是先执行i以后在自减。
也就是要是只是一步i--后输出依然后本身的值。
也就是i--这一表达式如果没有后续的情况下其读出的数值还是0
因为是unsigned(int)也就是无符号类型,所以其取值范围应该是0~(2的31次方)~-1;

回答3:

执行 i-- 后 i 仍为0 。但当 i 再执行下一个运算过后, i 就变成 -1 。

回答4:

楼上的说的好像不正确啊
i--是先把i=0的值赋值给表达式i--,然后在执行i=i-1这个运算
--i是先执行i=I-1,在将i=-1这个值赋给表达式i--
i++的话一样