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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中,为啥这样的代码编译时出错i undeclared(first use in this function),相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
int main()

int n;
scanf("%d",&n);
for(int i=1;i<=n;i++);
printf("%d\n",i);
return 0;

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

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

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

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

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

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

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

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

你知道code blocks 如何调用C99么

我调用了C99 还是报这个错误啊

追答

看这个贴,应该对你有帮助,我没环境 。http://tieba.baidu.com/p/2182232608

本回答被提问者和网友采纳
参考技术B #include<stdio.h>
int main()

int n;
scanf("%d",&n);
for(int i=1;i<=n;i++) printf("%d\n",i);
return 0;

for() 后面“;”去掉。
参考技术C 编译没问题啊。

c语言编写程序符号为啥没变颜色?

不知道怎么回事

参考技术A 你这个循环,数组a[1]怎么没变,对了建议看看i的颜色取质对了没有,每一次循环,i的颜色取质都有变化,才会变颜色。 参考技术B 一个txt文本文件 不当作c文件处理 当然没颜色咯

以上是关于C语言中,为啥这样的代码编译时出错i undeclared(first use in this function),的主要内容,如果未能解决你的问题,请参考以下文章

C语言中学指针时*和&是相互补充的,为啥啊?

C语言,用指针方式定义的字符串为啥不能修改?

一个c++有关问题,当定义一个char 型数组时,用cin循环输入为啥会出错,怎么解决,代码如下

为啥老是“执行 cl.exe 时出错”

c语言计算为啥结果不对

c语言编写程序符号为啥没变颜色?