不要把复杂的表达式写到一行里面
print从右开始运算,所以会先执行str1[num],后执行th函数
主函数里修改下,供参考:
#include <stdio.h>
#include <string.h>
int th(char str1[], int* p);
int main()
{
char str1[256];
int num = 0, max = 0;
gets(str1);
max = th(str1, &num);
printf("%d\n%c\n", max, str1[num]);
return 0;
}