//scanf("%d", &chioce_num);//利用%d接受的只能是数字,所以你发现在接受数字的时候没有问题,但是...
scanf("%d",&num)==1意思是输入一个数,scnaf才返回数字1,其他字符则是错的, && 在两者都成立时才成立,num>9解决了输入时两位或两位以上的的数字,当符合这些条件时,才允许往下进行。
scanf("%c", &ch);if ((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')||(ch>='0'&&ch<='9')){ dosomething();}