许久之前,就想看看C和C++,看看这两种神奇的编程语言,但是一直被这样或者那样的琐事给耽搁了(狂喷自己的拖延症)。

今天翻开自己的移动硬盘找到一本古老的书籍:《The C Programming Language 中文版》,浏览一下,缓解一下内心的空虚。

事情并没有想象中的那么顺利,刚看了一个例子的两种方法,但是当把他们组合起来时,就遇到了困难:

错误提示:

  error C2143: syntax error : missing ';' before 'type'

  error C2065: 'fahrr' : undeclared identifier

代码如下:(hello.c)

 #include <stdio.h>
main()
{
float fahr, celsius;
float lower, upper, step; lower = ; /* 温度表的下限*/
upper = ; /* 温度表的上限*/
step = ; /* 步长*/ fahr = lower;
while (fahr <= upper) {
celsius = 5.0 * (fahr-32.0) / 9.0;
printf("%3.0f %6.1f\n", fahr, celsius);
fahr = fahr + step;
} int fahrr; for (fahrr=;fahrr<=;fahrr=fahrr+)
{
printf("%3d %6.1f\n",fahrr,(5.0/9.0)*(fahrr-));
}
printf("Press ENTER to continue...");
}

错误出现在18和20行;

但是如果以第18行分开上面和下面都是可以执行的;

一番百度之后:

1.有人说:这段代码在 VC++ 和 DEV C++ 下调试是通过的,自己试了一下,发现在VC++下并没有通过;

2.有人说:用的是C语言环境,要把变量定义放到前面,改了一下:

 #include <stdio.h>
main()
{
float fahr, celsius;
float lower, upper, step; int fahrr; //修改的部分 lower = ; /* 温度表的下限*/
upper = ; /* 温度表的上限*/
step = ; /* 步长*/ fahr = lower;
while (fahr <= upper) {
celsius = 5.0 * (fahr-32.0) / 9.0;
printf("%3.0f %6.1f\n", fahr, celsius);
fahr = fahr + step;
} //int fahrr; //修改的部分 for (fahrr=;fahrr<=;fahrr=fahrr+)
{
printf("%3d %6.1f\n",fahrr,(5.0/9.0)*(fahrr-));
}
printf("Press ENTER to continue...");
}

结果正常通过。

在网上看了一番之后,得出结论:

  在纯C中,在一个代码块中变量声明必须在最前面。

error C2143: syntax error : missing ';' before 'type'的更多相关文章

  1. VC++中编译C出错:error C2143: syntax error : missing ';' before 'type'

    转摘自:http://preceo.blog.51cto.com/6225017/1130931 近来写程序时发现了一个问题,用 VC 编译 C语言是 总是提示一个错误:error C2143: sy ...

  2. error C2143: syntax error : missing ';' before '}'

    今天弄Tab控件,干了一件非常愚蠢的事,没有去声明头文件.这也是今天要记录的问题,提示如下各种 前面一个符号是错误的.如果初学者遇到,算作一个提示,记得声明新类的.h 头文件 标签空间再进一步.cpp ...

  3. LINK : fatal error LNK1117: syntax error in option 'VERSION:1.6.5'

    今天在用vs2015编译ogre 1.6.5的代码时发生连接错误 LINK : fatal error LNK1117: syntax error in option 'VERSION:1.6.5'. ...

  4. Keil C51编译报错error C141: syntax error

    错误代码: typedef unsigned char uchar uchar KeyRowColumnScan() { GPIO_KEY = 0x0f; uchar key_value = ; // ...

  5. CaffeMFC:caffe.pb.h(2525): error C2059: syntax error : 'constant'

    下边的语句会报 syntax error : 'constant'. static const DimCheckMode STRICT = V1LayerParameter_DimCheckMode_ ...

  6. C++ 编译发现 error C2146: syntax error : missing ';' before identifier 'm_ctrlserver'

    解决这个问题的根源是重复包含了头文件

  7. error C2061: syntax error : identifier '__RPC__out_xcount_part'

    朋友遇到的 把dx, windows sdk ,vs2010照着成功人士的配置好 应该就可以了

  8. Syntax error missing ; before *

      [问题] I have a header file like so: #pragma once #include "gamestate.h" #include "Ex ...

  9. C++编译错误syntax error : identifier 'THIS_FILE' 解决方法

    你到代码里搜索 THIS_FILE看是不是它定义在别的头文件前面了,如果是,把它们的头文件紧跟到Stdafx.h后面 我遇到过这问题,这样搞定的 今天遇到个编译错误:..\vc98\include\n ...

随机推荐

  1. SideBar 选择城市时右侧边上的 选择bar

    需要定义一个SideBar的视图类  在布局文件中引用   同时在布局中设置一个textView默认不可见 当触摸时才显示   在调用的Activity中 sideBar.setOnTouchingL ...

  2. Logback报错 no applicable action for [Encoding], current ElementPath is [[configuration][appender][Encoding]]

    老版本是0.9,移到springboot项目,解决办法,删除xml配置文件节点<Encoding>UTF-8</Encoding>

  3. webpack搭建自己的项目

    使用代理的方式参考地址:http://www.cnblogs.com/wangyongcun/p/7665687.html npm 常用模块 npm init 创建package.json文件 一值回 ...

  4. STL set,mulityset用法

    #include<iostream> #include <set> using namespace std; template <class T> class Ru ...

  5. Oracle_高级功能(4) 数据库存储结构

    数据库存储结构分为:物理存储结构和逻辑存储结构.物理结构和逻辑结构分开,对物理数据的存储不会影响对逻辑结构的访问.1.物理存储结构 数据库文件 os block2.逻辑存储结构 tablespace ...

  6. istio-jaeger-python调用链配置

    虽然,istio ingress controller已经生成了jaeger 记录所需要的信息,但是多个分布式之间没法清晰记录相互之间的依赖关系.所以相关的项目还需要加入特殊配置. 如:python- ...

  7. andorid 多线程handler用法

    .xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...

  8. spring boot 整合 RabbitMq (注解)

    1.增加rabbitmq的依赖包 <!-- ampq 依赖包 --> <dependency> <groupId>org.springframework.boot& ...

  9. JTable 查询

    public JTable query(String table) throws SQLException { DefaultTableModel tablemodel = new DefaultTa ...

  10. (O)web缓存

    为什么要用缓存 一般针对静态资源如CSS,JS,图片等使用缓存,原因如下: 请求更快:通过将内容缓存在本地浏览器或距离最近的缓存服务器(如CDN),在不影响网站交互的前提下可以大大加快网站加载速度. ...