vs2008 C语言 变量定义在最前面
本人用vs2008写C语言程序
新建cpp文件,但是强行把文件名命名为.c。
但是编译时出了很奇怪的问题。
int main()
{
printf("d\n")
int endt = 0;
scanf("%d",&endt);
return 0;
}
报错:
1>f:\code\auguest_c\auguest_c\main.c(21) : error C2143: syntax error : missing ';' before 'type'
1>f:\code\auguest_c\auguest_c\main.c(22) : error C2065: 'endt' : undeclared identifier
最后发现,把endt的定义挪到最前面就可以了。
正确版本:
int main()
{
int endt = 0;
printf("d\n")
scanf("%d",&endt);
return 0;
}
问题根源:编译器问题——C89和C99
C89规定,在任何执行语句之前,在块的开头声明所有局部变量。
在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。
1.源文件保存为.c格式的话变量只能定义在最前,若保存为.cpp格式的话,变量定义较为灵活,不用在最前。
2.在C语言里,变量只能在函数的开头处声明和定义。在函数里要用到的变量必须要在开头处声明定义。声明定义的前面不能有任何其他非声明定义的语句。全局变量在函数体的外部声明定义。而C++里(.CPP文件是按C++标准编译的),只要在用到变量前对该变量进行声明定义就行了,位置不做特别要求。而C语言的就定了在一个模块里(函数、循环体等)先声明一切所需变量后才能进行相关操作的规定。
vs2008 C语言 变量定义在最前面相关推荐
- c语言变量定义位置区别,C语言中变量定义的位置(C89和C99的区别)
C语言中变量定义的位置(C89和C99的区别) 在C++和JAVA中,按照语法,我们可以把变量定义在任何位置,所以很多人习惯了"哪里使用哪里定义"的这种做法,所以当用C语言进行编程 ...
- C语言变量的定义包括变量存储类型和变量的什么?
C语言变量的定义包括变量存储类型和变量的名称.C语言定义变量的格式:"数据类型 变量名;","数据类型"表示想要存储什么类型的数据,"变量名" ...
- C语言变量定义和赋值
定义变量的格式非常简单,如下所示: 数据类型 变量名; 首先要强调的一点是:最后的分号千万不要丢了.变量的定义是一个语句,我们说过,语句都是以分号结尾的. "数据类型"表示想要存 ...
- c语言if不能判断u8变量值,C语言变量名命规则.doc
C语言变量名命名规则 一.程序风格:???????? 1.严格采用阶梯层次组织程序代码:???????? 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行.??? 要求相匹配的大 ...
- C语言变量的类型和存储位置
*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...
- c语言变量名用一个字母,C语言变量命名规则
<C语言变量命名规则>由会员分享,可在线阅读,更多相关<C语言变量命名规则(6页珍藏版)>请在人人文库网上搜索. 1.1.严格采用阶梯层次组织程序代码:各层次缩进的分格采用VC ...
- (四)从零开始学习模糊控制——语言变量蕴含关系
模糊控制系列文章 (一)模糊数学--基本概念 (二)模糊数学--模糊关系 (三)模糊数学--模糊决策 (四)模糊数学--语言变量&蕴含关系 (五)模糊数学--模糊推理 文章目录 模糊控制系列文 ...
- C语言变量定义与赋值
编程环境:Visual Studio 2017; 电脑系统:WIN10 : 一.定义变量与初始化 一般编程中,考虑编程环境及C89.C99标准,稳妥的做法是:定义变量的同时进行初始化: 1.目的是j的 ...
- c语言常量与变量ppt,C语言 变量、常量与数据类型.ppt
C语言 变量.常量与数据类型.ppt (25页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 变量.常量与数据类型回顾C语言的基本字符集有那 ...
最新文章
- Understanding SOAP
- 使用Flutter一年后,这是我得到的经验
- AngularJS基本知识点
- Maven编译jar出现:无法确定 T 的类型参数的异常的原因和处理方案
- java 22 - 8 多线程之线程生命周期图解
- 如何用堆栈和循环结构代替递归调用--递归转换为非递归的10条军规
- JavaWeb黑马旅游网-学习笔记01【准备工作】
- ITK:遍历具有成形邻域的图像区域
- Webdynpro check error - check function in Workbench
- 工业项目,用MCU还是PLC?
- 南阳58--最小步数(BFS)
- latex插入图像、表格、其他latex脚本时的路径设置
- 2021-2022学期计划
- 金行健:你有没有思考过,特斯拉为什么先进?
- vc中控件字体的设置(转)
- 移动端微博 php源码,jQuery仿手机新浪微博聊天界面
- 状语从句不是简单句_简单句、并列句、复合句
- PID各自的作用究竟是什么?
- 跟上Java8 - 日期和时间实用技巧,转自知乎王爵nice
- 上海大学2020计算机考研专业,2019上海大学计算机专业考研参考科目