m0_58965149
2021-06-03 21:44
采纳率: 100%
浏览 16

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

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • qfl_sdu 2021-06-04 00:03
    已采纳

    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);
    }
    点赞 打赏 评论

相关推荐 更多相似问题