我最近一直在学习C。我很难理解以下代码的结果。为什么b
最后是255?
unsigned char a=1;
int b=0;
do
{
b++;
a++;
}while(a!=0);
一个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。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句