我最近在学习C. 我很难理解下面代码的结果。 为什么b最后是255?
unsigned char a=1;
int b=0;
do
{
b++;
a++;
}while(a!=0);
答案 0 :(得分:6)
unsigned char
只能取0到255之间的值。在代码中,在循环的每次迭代中,a
和b
都会加1,直到{{1}当a
为255并且应该再增加1时,它应该是256,但由于a
只能取0到255之间的值,unsigned char
取值0而不是256.然后,循环因a
而停止,while(a!=0)
将等于256 - 1 = 255。