error C2143: syntax error : missing ';' before 'type'
许久之前,就想看看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'的更多相关文章
- VC++中编译C出错:error C2143: syntax error : missing ';' before 'type'
转摘自:http://preceo.blog.51cto.com/6225017/1130931 近来写程序时发现了一个问题,用 VC 编译 C语言是 总是提示一个错误:error C2143: sy ...
- error C2143: syntax error : missing ';' before '}'
今天弄Tab控件,干了一件非常愚蠢的事,没有去声明头文件.这也是今天要记录的问题,提示如下各种 前面一个符号是错误的.如果初学者遇到,算作一个提示,记得声明新类的.h 头文件 标签空间再进一步.cpp ...
- 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'. ...
- Keil C51编译报错error C141: syntax error
错误代码: typedef unsigned char uchar uchar KeyRowColumnScan() { GPIO_KEY = 0x0f; uchar key_value = ; // ...
- CaffeMFC:caffe.pb.h(2525): error C2059: syntax error : 'constant'
下边的语句会报 syntax error : 'constant'. static const DimCheckMode STRICT = V1LayerParameter_DimCheckMode_ ...
- C++ 编译发现 error C2146: syntax error : missing ';' before identifier 'm_ctrlserver'
解决这个问题的根源是重复包含了头文件
- error C2061: syntax error : identifier '__RPC__out_xcount_part'
朋友遇到的 把dx, windows sdk ,vs2010照着成功人士的配置好 应该就可以了
- Syntax error missing ; before *
[问题] I have a header file like so: #pragma once #include "gamestate.h" #include "Ex ...
- C++编译错误syntax error : identifier 'THIS_FILE' 解决方法
你到代码里搜索 THIS_FILE看是不是它定义在别的头文件前面了,如果是,把它们的头文件紧跟到Stdafx.h后面 我遇到过这问题,这样搞定的 今天遇到个编译错误:..\vc98\include\n ...
随机推荐
- Volley框架原理
Volley有如下优点: 1. 自动调度网络请求 2. 多并发请求 (源于开了多个线程)3. 本地Cache自动缓存网络请求结果 4. 支持设置请求优先级 5. 支持取消单个请求或者取消所有请求 6. ...
- thinkphp 查找表并返回结果
使用 M('devices')->where($data)-> execute($resql); 返回的只是int值,表示成功与否,并没有返回search 到的 record . $res ...
- pycurl提示load dll failed 找不到注册程序
原因:python虽然是2.7的 但有小版本区别 建议使用2.7.8
- golang xml和json的解析与生成
golang中解析xml时我们通常会创建与之对应的结构体,一层层嵌套,完成复杂的xml解析. package main; import ( "encoding/xml" " ...
- JS中判断某个字符串是否包含另一个字符串的五种方法
String对象的方法 方法一: indexOf() (推荐) ? 1 2 var str = "123" console.log(str.indexOf("2&qu ...
- L1-025 正整数A+B(15)(思路+测试点分析)
L1-025 正整数A+B(15 分) 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000].稍微有点麻烦的是,输入并不保证是两个正整数. 输入格式: 输入在一行给出A和B, ...
- MySql5.5 SQL优化 慢查询日志存储
一.MySql的慢查询日志的开启和存储 1.查看是否把没有使用索引的SQL记录到慢查询日志中,查看 log_queries_not_using_indexes 变量; show VARIABLES L ...
- How do I configure a Wired Ethernet interface
1.In order to configure the Wired Ethernet interface the MDI must be connected to the PC using the U ...
- JavaScript中对数据库表中某一个字段进行赋值
场景如下,通过下拉列表选择一个选项(如“启用”和“不启用”),启用用0表示,不启用用1表示. enableFlag是表中一个字段,我猜date:后面就是对该字段的赋值.
- 关于RNA-Seq数据去接头(Adapter)这事需要讲一讲
关于RNA-Seq数据去接头(Adapter)这事需要讲一讲 RNA-Seq adapter barcode cutadapt 首先来了解一下三个概念: 1.adapter是一段短的序列已知的核酸链, ...