C语言自定义函数 中i未声明的标识符
作者&投稿:勾岚 (若有异议请与网页底部的电邮联系)
先告诉你吧,确实没有定义。
因为你前面定义的int i,仅仅再for的循环体内,也就是到了break;下面就用不了了,这是局部变量的规则。
那么你下面还要用i,但是这个i,最前面没有定义,所以报错。
要解决,最好是在最前面定义,除非你想用这种局部变量。
把定义的函数放在,main函数之前即可。
自定义的函数需要声明在调用之前,比如说在main函数里调用自定义的fun(),则fun()的方法体需要写在main函数之前。
在C语言中的执行总是从main函数开始的,无论main函数在哪个位置都肯定从它开始。如果你定义的函数在main函数之后。
而且在main函数前没有进行该调用函数的声明那么当在main函数中调用的该函数系统将不认识,会有错误提示的,如果定义的函数在main函数之前,那么就没事了。
扩展资料:
C语言中标识符的使用规范:
1、标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。
2、不能把C语言关键字作为用户标识符,例如if,for,while等。
3、标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。
4、标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。
5、标识符命名应做到“见名知意”,例如,长度(length),求和、总计(sum)。
参考资料来源:
百度百科—标识符
百度百科—main函数
永咏丽泉: 这样做不行,你的i除了在main()中使用外在其它函数里无效,你可以把i定义在函数外面,作为全局变量.
盐田区19573999372: C语言编程时明明定义了变量,怎么还会出现未声明的标示符的错误 - ?
永咏丽泉: 你这个函数上面应该还有东西.你检查下是不是上个函数少了;或者}...
盐田区19573999372: C语言 在自定义函数中调用另一个自定义函数显示未找到函数的定义 - ?
永咏丽泉: 函数定义若写在main(){} 后面, 则main() 以前要有函数原型声明.例如: #include <stdio.h> void drawboard(); // 函数原型声明 int testplaywin(); // 函数原型声明 int main(){ drawboard(); testplaywin(); return 0 ; } void drawboard(){ printf("pass draw\n"); } int testplaywin(){ drawboard(); printf("pass test\n"); }
盐田区19573999372: 我想用函数遍历vector变量,编译提示未定义标识符 i ,但我明明定义了啊.为什么? - ?
永咏丽泉: 函数由两部分组成:声明部分和执行语句.声明部分的作用是对有关的标识符(如变量、函数、结构体、共用体等)的属性进行说明.对于函数,声明和定义的区别明显,函数的声明是函数的原型,而函数的定义是函数功能的确立.对函数的声...
盐田区19573999372: C语言求解,代码运行不了,总是提示i,j,k是未声明标示符 我在for()里有初始变量.运行环境visual c++6.0?
永咏丽泉: 把i,j,k声明放在这个位置“int hight,width;”.
盐田区19573999372: C语言不会改了 未声明标识符 哪位大神指教指教 - ?
永咏丽泉: allocate()函数调用少个分号
盐田区19573999372: 为什么老是提示:未声明的标识符a,b,望c语言大神指教 - ?
永咏丽泉: a 和b是main里面的, 没有传到print中. 所以出错. 这个最好的做法是,1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25#include<stdio.h> intAdd(inta, intb); voidPrint(intx,inty); voidmain() { inta,b,y; printf("输入两个整数:")...
盐田区19573999372: C语言 函数调用 如果没进行声明会怎么样? - ?
永咏丽泉: C语言规定,标识符必须先声明后引用.引用未经声明或者类型(如果有的话)和声明不符的标识符属于语法错误.函数名是描述有类型对象的标识符,函数调用是对函数名的引用,因此函数调用之前必须声明,否则编译器会报错. 但是要注意...
盐田区19573999372: C语言自定义函数声明的问题? - ?
永咏丽泉: 声明在函数体外,则从声明处开始,以下函数中都可以调用声明的函数 声明在函数体内,则只有本函数能够调用声明的函数 你说的最后那个是函数的定义,并不是声明
盐田区19573999372: 未声明标识符. - ?
永咏丽泉: buffer,不是C语言的关键字. 用这个buffer之前要先自己定义.