求教求教~请问哪里错了呀?

 

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);
}