if(s2==20)(这里的数字无论是多少都可以!)----这是一个位,只能是1和0。你写上1(或者其它的奇数),再试试行不行。
你这个程序写的真是真是有点奇怪,你对S2是位定义,也就是一位二进制数,也就是说只能等于0或1,也就是if(s2==20)判断总是错,那么num++就不会被执行。