tik2kk 2022-02-19 01:55 采纳率: 50%
浏览 38
已结题

问一下各位,这个代码为什么会出现这种类型错误?

报错是第24行, error:conflicting types for "change_port".
麻烦知道的说一下,有劳了~
代码如下:
[](

```c
#include <stdio.h>
#include <stdlib.h>

change_port(int );

int main(void)
{
int i;
int tport;
int host[i];
for( host[i] = 0 ; host[i] < 0xFFFFFFFF ; host[i]++ ) {
host[1]=rand()%0xFF;
host[2]=rand()%0xFF;
host[3]=rand()%0xFF;
host[4]=rand()%0xFF;
printf("%d.%d.%d.%d\n", host[1],host[2],host[3],host[4]);
change_port(tport);
printf("%d\n",tport);
}

return(0);
}

void change_port(int port)
{
for(port=1; port<0xFFFFF; port++){
port=rand()%0xFFFFF;
}
return(0);
}

```)

  • 写回答

2条回答 默认 最新

  • 关注

    error:conflicting types for "change_port". 这个报错是第3行 change_port(int); 前面少了void
    与第24行定义的函数返回类型不一致了

    你这代码的意图是要做什么啊?
    参考下边修改..可能与你的意图不一样

    #include <stdio.h>
    #include <stdlib.h>
    
    void change_port(int *); //少了void
    
    int main(void)
    {
        int i;
        int tport;
        int host[5]; // i 没有赋值,,初始值是随机不确定的,但很大几率是0 应该改成int host[5];吧
        //i 没有赋值,你 for (host[i] = 0; host[i] < 0xFFFFFFFF; host[i]++) 是要做什么啊
        for (i = 0; i < 5; i++)
        {
            host[1] = rand() % 0xFF;
            host[2] = rand() % 0xFF;
            host[3] = rand() % 0xFF;
            host[4] = rand() % 0xFF;
            printf("%d.%d.%d.%d\n", host[1], host[2], host[3], host[4]);
            change_port(&tport);  //要加& 取变量地址
            printf("%d\n", tport);
        }
    
        return (0);
    }
    
    void change_port(int *port)  // port改成指针才能把对 *port的修改传回主函数
    {
        for (int i = 1; i < 0xFFFFF; i++)  //循环变量不能与修改的变量同名,而且你这个循环也没有意义
        {
            *port = rand() % 0xFFFFF;
        }
        return; //不要(0)
    }
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月27日
  • 已采纳回答 2月19日
  • 创建了问题 2月19日

悬赏问题

  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)