作业帮 > 综合 > 作业

setcolor(int color)中的color值是不是可以越界啊?它是怎么处理超过maxcolor的?

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/06/06 09:55:45
setcolor(int color)中的color值是不是可以越界啊?它是怎么处理超过maxcolor的?
for(i=0;i
setcolor(int color)中的color值是不是可以越界啊?它是怎么处理超过maxcolor的?
通常系统函数对这种处理是采用取短方式.
这里,你说最大color值为15.那么,系统函数的处理如下:
void setcolor(int color)
{
color &= 0x0f;
……
}
这样以来,不管你的color的值为多少,都可以被限制在0~15之间.
对于其它的形参范围,系统函数并不是一出错就不工作.它可能是会在出错的情况下,按默认参数执行.