无符号Char循环运行多少次

use*_*985 0 c c++ for-loop

我是C/C++的菜鸟那么请原谅问题的简单性,但是这里有

unsigned char i;
for (i=0; i<1000; ++i)
  if ((i%4) == 0)
    printf("hello\n");
Run Code Online (Sandbox Code Playgroud)

代码会打印多少次"你好".我说63,但不是其中一个选择.有人可以提供答案,但更重要的是解释原因

Dav*_*nan 7

注意:我假设8位字符类型.

当你执行你会溢出++ii等于255在这一点上语言标准法令即i变为0,俗称环绕的现象.

所以,你有一个无限循环,因为i<1000对于所有的值i.