1.合法,a<=b<=c相当于(a<=b)<=c,即将a<=b的结果(只可能是1或0)与c进行比较。如果c>=1,则if永远为真,而不论a,b的值是多少。2.因a>b为1,1>c为假,执行else if。因c-1=2,2>=d为真,所以(c-1>=d)等于1,(c-1>=d)==1为真,执行printf("%d\n",d+1);输出3。