1.main函数中,pos和str数组没有初始化,max_pos函数也没有调用
2.max_pos函数中,max_char = str[i]; pos = i;这两句需要使用{}包裹起来。并且,最后return也写错了,应该是return pos;
代码修改如下,如有帮助,请采纳一下,谢谢。
#include <stdio.h>
int max_pos(char str[]);
void main(void)
{
int pos = 0;
char str[100] = {0};
printf("请输入一个字符串:");
gets(str);
pos = max_pos(str);
printf("最大的字符是%c\n",str[pos]);
printf("最大字符的位置是%d\n",pos+1);
}
int max_pos(char str[])
{
int pos = 0;
char max_char = 0;
int i = 0;
for (i = 0; str[i] != '\0';i++)
{
if (max_char < str[i])
{
max_char = str[i];
pos = i;
}
}
return (pos);
}