while(c=*s++)就是从s的开头开始,每次取一个字符,(依次取得'2','4','7','3')switch(c-'2')就是根据c-'2'的值作多分支选择,至于c-'2',就是作如下的对应(把相应的数字字符,变为相同的数字,再减去2):c c-'2''2' 0'4' 2'7' 5'3' 1
6 6 8 97 7
楼上正确,有不懂的可以问我