C语言中,为什么这样的代码编译时出错i undeclared(first use in this function),

2025-04-14 09:52:26
推荐回答(4个)
回答1:

出现此问题的原因为:设置错误造成的。

解决的方法和详细的操作步骤如下:

1、首先,使用未声明的标识符“ p”的警告,表示此处存在无法识别的p,如下图所示,然后进入下一步。

2、其次,
 p值可以直接找到。 p下有一个_,表示出现了问题,如下图所示,然后进入下一步。

3、接着,完成上述步骤后,如果未使用p值,则将其直接删除。
 如果需要,直接声明。 声明期间很可能发生了错误,转到上面的代码进行问题排查,如下图所示,然后进入下一步。

4、然后,完成上述步骤后,这是直接删除p的值,因为此后该值在代码中不可用,如下图所示,然后进入下一步。

5、最后,Unused variable 'arr',即不使用数组'arr',可以在不需要时将其删除,这样就不会报错了,如下图所示。这样,问题就解决了。

回答2:

标准C (C99)之前的版本不支持这样定义变量!
变量声明不必放在语句块的开头,for 语句提倡这么写 for(int i=0;i<100;++i) 就是说,int i 的声明放在里面,i 只在 for 里面有效。-------------这是C99之后的新特性

回答3:

#include
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++) printf("%d\n",i);
return 0;
}
for() 后面“;”去掉。

回答4:

编译没问题啊。