按照这张图片,我的代码死循环了,第一次使用位运算,怎么修改
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int random(int min,int max)
{
int r;
do{ r=rand()%(max-min+1)+min;
}while(r==3||(r<=9&&r>=6)||r==12);
return r;
}
void toBinary(int m)
{
int N,b=8;
printf("M初始状态二进制表示:");
while(b!=0)
{
N=m&b;
if(N!=0)
printf("1");
else
printf("0");
b>>1;
}printf("\n");
}
int main()
{
int M,N,b;
srand(time(NULL));
M=random(0,15);
printf("M初始状态十进制表示:%d\n",M);
toBinary(M);
return 0;
}