如果你的s1定义的是字符数组的话,scanf时不需要加取地址符&,否则会
需要看下具体第几行导致退出才可以做出判断
s1定义的是char还是char 数组(char s1[20])?
num定义的大小是多大?char num[M][N],如果N小于等于20,你的程序中num[i][20]就会出现越界的,N=20的时候,下标最大到19