You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用指针加载数组时出现警告参数名问题求助

问题排查与解决方案

嘿,我一眼就揪出你代码里触发警告的根源啦——错误的函数调用写法:

1. 函数调用时多余的返回类型声明

你在main函数里写的这行:

void FLoad(a);

这根本不是函数调用!在C语言里,只有声明函数的时候才需要加返回类型void,调用函数时直接写函数名加参数就行。编译器看到这行,会误以为你在重复声明FLoad函数,但这次声明的参数只有隐式的int*类型却没有参数名,所以就弹出了“参数名缺失”的警告。

把这行改成正常的函数调用就解决问题了:

FLoad(a);

2. 额外的规范建议(非警告直接原因,但值得修正)

  • 标准C中main函数的返回类型应该是int而非void,建议改成int main(),最后加上return 0;,这样程序的跨平台兼容性更好。
  • 你贴的参考程序之所以运行正常,就是因为它的函数调用写法正确,没有多余的返回类型声明。

修正后的完整代码

#include<stdio.h>
#define T 10
void FLoad(int *);

int main () {
    int a[T];
    // 正确的函数调用方式
    FLoad(a);
    return 0;
}

void FLoad(int *a) {
    int x;
    for (x = 0; x < T; x++)
        scanf("%d", a+x);
}

这样修改后,那个烦人的警告就会消失,程序也能正常运行啦。

内容的提问来源于stack exchange,提问作者Alberto Zavala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:13:41