请教一个switch表达式

来源:百度知道 编辑:UC知道 时间:2024/05/29 11:59:48
for(i=0;i<81;i=i+3)
{M[0]=B[i];
M[1]=B[i+1];
M[2]=B[i+2];
switch()
{case M[0]=='0'&&M[1]=='0'&&M[2]=='0': X[]={"00"};break;
case M[0]=='0'&&M[1]=='0'&&M[2]=='1': X[]={"011"};break;
case M[0]=='0'&&M[1]=='1'&&M[2]=='0': X[]={"100"};break;
case M[0]=='1'&&M[1]=='0'&&M[2]=='0': X[]={"101"};break;
case M[0]=='0'&&M[1]=='1'&&M[2]=='1': X[]={"11011"};break;
case M[0]=='1'&&M[1]=='0'&&M[2]=='1': X[]={"11100"};break;
case M[0]=='1'&&M[1]=='1'&&M[2]=='0': X[]={"11110"};break;
case M[0]=='1'&&M[1]=='1'&&M[2]=='1': X[]={"111111"}; break;
}
表达式应该填什么呢。。。

多值用IF吧

乱来 !

可以用嵌套的switch分别判断每个M。

switch 和case不是这样用的
由于字符和数字是可以通用的,所以可以这样试试
switch(M[0]*100+M[1]*10+M[2]*1)
{
case 0:X[]={"00"};break;
case 1:X[]={"011"};break;
case 10:X[]={"100"};break;
case 100:X[]={"101"};break;
case 11:X[]={"11011"};break;
case 101:X[]={"11100"};break;
case 110: X[]={"11110"};break;
case 111:X[]={"111111"}; break;
}