我最近在学习C. 我很难理解下面代码的结果.为什么b最后是255?
unsigned char a=1;
int b=0;
do
{
b++;
a++;
}while(a!=0);
Run Code Online (Sandbox Code Playgroud)
一个unsigned char只能在0与255之间的值在代码中,在循环的每次迭代,a并且b都得到了1递增,直至a达到255时a为255,应由1以上,这本来是256,但由于一个递增unsigned char只取0到255之间a的值,取值0而不是256.然后,循环停止因为while(a!=0)和b将等于256 - 1 = 255.