max是字符型,应该以%c格式输出。另外else语句是多余的,不需要此语句。
在while条件中最好不要用++现在你的程序的while条件是这样判断的:当前a[i]!=0时,继续循环,但循环中不幸要用到a[i],而经过判断的a[i]由于在条件判断完成后执行i++导致循环中的a[i]是条件判断后面的一个字符。建议修改成:while( a[i] ){ if ( max i++; }