结贴--感谢各位网友解答---关于变量声明的问题
本帖最后由 JimOrange 于 2024-1-26 12:14 编辑事情回顾:按照现代编程语言编写代码,发现在mian函数调用过其它函数(如:fun)后再定义其它变量一律报错。
解决方案:只要保证在函数(如:fun)调用前定义/声明变量就可以了。(只对同一“生命周期”有效,比如在while里面定义变量不会影响到fun函数的编译)
本人鄙见,可能不太严谨,如有疏漏,望大伙见谅!
=======================历史记录===============
创建一个函数,然后调用这个函数。之后再定义变量就报错,各种修改都不行,实在莫名其妙!!! 大伙儿有遇到过吗?{:4_181:}
没有调用函数就编译通过,
===============更新====================
原以为不能在main函数定义变量,只能在main函数之前,结果看了@冲哥视频,他的怎么就可以定义变量在main函数呢?(注意看他之前是有函数声明的)
不为别的,只为知道个所以然。{:4_187:}
C51 支持的C语言版本不支持 这样使用。
变量必须定义在函数开头 前面一个 子函数 fun() { ; } 内要加 ;
后来一个 主函数 main() 没有返回值; 用 void main()试试 . main中一般是要包含while(1)的 LAOXU 发表于 2024-1-25 17:28
前面一个 子函数 fun() { ; } 内要加 ;
后来一个 主函数 main() 没有返回值; 用 void main()试试 . ...
话说楼主这个不是 语法问题么,,C251里支持C99语法了么?{:4_267:} LAOXU 发表于 2024-1-25 17:28
前面一个 子函数 fun() { ; } 内要加 ;
后来一个 主函数 main() 没有返回值; 用 void main()试试 . ...
一样的~{:4_187:}
_奶咖君_ 发表于 2024-1-25 17:49
话说楼主这个不是 语法问题么,,C251里支持C99语法了么?
???这不是最简单的C吗? _奶咖君_ 发表于 2024-1-25 17:22
C51 支持的C语言版本不支持 这样使用。
变量必须定义在函数开头
谢谢~ 有没有具体一点,
我定义在函数里面也可以,是不是只要定义了全局函数,以后所有的变量都只能在全局定义?{:4_187:}
我也遇到过,变量定义必须定义在一个函数的开头,不能放在调用、赋值等语句后,c语言标准的问题,它这样规定,keil就这样进行检测,不符合就编译不通过 你第一个截图的警告是因为你定义了一个方法 但是你没有调用。 这个可以忽略
你第二个的问题是,定义的variable 没有放到函数体的开头。 希望可以帮到你谢谢!