今天测试了一个以.c结尾的C语言程序。原始代码如下:

[cpp] view plaincopy
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(int argc, char **argv)
  4. {
  5. fprintf(stdout, "Hello C\n");
  6. int i;
  7. for (i = 0; i < 10; i++)
  8. {
  9. fprintf(stdout, "%dst Hello C\n", i);
  10. }
  11. getchar();
  12. return 0;
  13. }

然后使用Visual Studio编译,我了个去!!!竟然有这个错误:

[html] view plaincopy
  1. 1>c:\users\administrator\desktop\c_lan\c_test\c_test.c(7) : error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
  2. 1>c:\users\administrator\desktop\c_lan\c_test\c_test.c(8) : error C2065: “i”: 未声明的标识符
  3. 1>c:\users\administrator\desktop\c_lan\c_test\c_test.c(8) : error C2065: “i”: 未声明的标识符
  4. 1>c:\users\administrator\desktop\c_lan\c_test\c_test.c(8) : error C2065: “i”: 未声明的标识符
  5. 1>c:\users\administrator\desktop\c_lan\c_test\c_test.c(10) : error C2065: “i”: 未声明的标识符

网上找了找,有人说可以把后缀改为.cpp。我很不乐意这样做,因为这样违背了我的初衷了。

继续找。很好,这个错误的原因终于找到了。很久以前C语言的标准规定标量要在函数开始的时候定义或者声明。在解释一下,我把语言中自己就代表一个变量元素的变量成为标量,把可以容纳多个元素的变量成为数组。实际上有些人把数组称为向量,但是向量是数学中的概念,在数学中,向量分量称为第几维分量,分量数用维度说明,这样总是混淆。

在说一遍结论:在C语言里,最好把所有的变量声明放到计算之前,先声明再使用,这样就不会有这类错误了。

改一下的代码:

[cpp] view plaincopy
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(int argc, char **argv)
  4. {
  5. int i;
  6. fprintf(stdout, "Hello C\n");
  7. for (i = 0; i < 10; i++)
  8. {
  9. fprintf(stdout, "%dst Hello C\n", i);
  10. }
  11. getchar();
  12. return 0;
  13. }

希望对给位有用啊。。。

转载于:https://www.cnblogs.com/aoguren/p/3190850.html

语法错误 : 缺少“;”(在“类型”的前面)的解决方案 转载相关推荐

  1. 语法错误 : 缺少“;”(在“类型”的前面)的解决方案

    今天测试了一个以.c结尾的C语言程序.原始代码如下: #include <stdio.h> #include <stdlib.h>int main(int argc, char ...

  2. 程序编译出错,缺少类型说明符;语法错误 : 缺少“;”(在标识符“PVOID64”的前面)

    1>正在编译...  1>stdafx.cpp  1>E:/VS2005/VC/PlatformSDK/include/winnt.h(222) : error C2146: 语法错 ...

  3. c++ 语法错误 : 缺少“;”(在“*”的前面)

    语法错误 : 缺少";"(在""的前面) 出现这个错误,我们当然不会考虑简单的原因(就是缺少;在的前面),那么来分析一下可能的不好发现的原因: error C4 ...

  4. 一针见血 error C2146 语法错误 缺少

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 如果你确 ...

  5. error C2143: 语法错误 : 缺少“;”(在“using”的前面)

    1.>d:\daily\cpp\friendly2\friendly2\complex.cpp(5): error C2143: 语法错误 : 缺少";"(在"us ...

  6. error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)[转]

    error C2146: 语法错误 : 缺少";"(在标识符"PVOID64"的前面) 来源:http://houjixin.blog.163.com/blog ...

  7. VS2019 莫名其妙出现: C2059 语法错误:“}“,C2143 语法错误:缺少“;“(在“}“的前面),C2065 未定义标识符,C2039 不是““的成员等

    一.问题 VS2019 莫名其妙出现: C2059 语法错误:"}" C2143 语法错误:缺少";"(在"}"的前面) C2447     ...

  8. 语法错误 : 缺少“;”(在“”的前面)

    记录一: 在一个项目中需要重写程序,把以前的代码移植过来发现出现这个问题,代码如下: vector<CString> v_imgpath; 后面一直编译的时候一直报:error C2143 ...

  9. 语法错误 : 缺少 “ ; ” (在 “ ” 的前面)

    编程错误: 在写一个小程序的时候,出现了错误 语法错误 : 缺少";"(在"<"的前面) 代码如下: static vector<float *&g ...

最新文章

  1. MYSQL密码解密函数的使用
  2. boost::hana::detail模块实现相关算法的测试程序
  3. 解决: Your ApplicationContext is unlikely to start due to a @ComponentScan of the default
  4. CDH Yarn资源动态分配 - 指定资源限制 公平调度具体设置
  5. Redis面试常问-- Redis常用数据类型
  6. linux升级了npm怎么还原,linux下升级npm以及node
  7. Emacs 安装与体验
  8. 1,机器学习应用概述
  9. AES方式加解密的简单介绍
  10. jQuery - slice( start, [end] ) Method
  11. visio一分二的箭头_visio软件双箭头连接线怎么画?
  12. java工程师英文简历_软件工程师英文简历
  13. Linux下如何进入Redis客户端
  14. python里面的pip是什么意思_python中pip问题
  15. 方差、标准差、协方差概念与意义梳理
  16. 80核处理器_【装机帮扶站】第690期:12核amp;16核怪兽CPU配置推荐
  17. php7 yar扩展,宝塔面板安装yar扩展
  18. 感触极深的一篇文章(迷失方向的你不妨看看)
  19. mysql外网访问phpmyadmin_MYSQL如何用phpMyAdmin设置外部IP可以访问
  20. 1028 人口普查(C语言)

热门文章

  1. elk 的报错和优化
  2. xtrabackup之innobackupex命令参数
  3. 关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法
  4. 学习quartz定时
  5. 再理下系统分层架构模式
  6. javascript仿韩国Google效果
  7. 关于hive中Map join 时大表left join小表的问题
  8. CSS你可能还不知道的一些知识点
  9. 怎么书写高质量jQuery代码
  10. POJ 3687 Labeling Balls(拓扑序列)