if(str[i]==m) k=i; flag=1;} 这里有问题 判断结果不管是什么flag都会被赋值为1
f(str[i]==m) k=i; flag=1;应该改成if(str[i]==m){ k=i;; flag=1; break;}