for (k=0;k<mSize;k++) { if(next[k]==0) //总是置换出第一个可以换出的页 memery[k]=page[i]; next[k]=0;//初始化next[]数组 }
相似于这种,就是这个for循环中if语句一旦成立本人就要 结束整个for循环,问一下怎么改?
解决方案
35
是的,这是最基本的语法吧
不过本人推荐这样写代码
不过本人推荐这样写代码
for (k = 0 ; k < mSize && next[k] != 0 ; k++) next[k] = 0 ; memery[k] = page[i] ;
10
每次循环都判断 k < mSize 和 next[k] != 0 是不是同时满足(其实就是把if(next[k]==0)提到了上面)
用break的形式满足if时会执行memery[k] = page[i] ;这句,但是用楼上的方法,却会少执行一次,所以要添加上这句。
两种写法都可以的,楼上的写法更简洁,用break的相对来说可读性好点
用break的形式满足if时会执行memery[k] = page[i] ;这句,但是用楼上的方法,却会少执行一次,所以要添加上这句。
两种写法都可以的,楼上的写法更简洁,用break的相对来说可读性好点