编译错误syntax error : missing ';' before 'type'原因探寻
2014-10-13 23:50
405 查看
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
在老师I讲课的视频上有一段小程序,是分析变量作用范围的。
我分析完毕,然后再win系统上运行VC++ 调试的时候,提示该程序不对。。。
明明就是老师给出来的程序,难道是同样的C程序,在WIn和MAC上运行有差别吗?
VC++提示syntax error : missing ';' before 'type',
后来我仔细分析,如果把程序中间一个程序块改为
程序就会顺利通过编译。
经过测试发现,在VC中,在一个程序块内,如果变量声明放在了函数调用或者赋值语句的后面,那么编译的时候就会报错:missing ; before type
然后如果修改将变量声明放在函数调用或者赋值语句之前,就会顺利通过编译。
这个问题在gcc编译C程序的时候都不会出现,只有在VC编译C的时候才会出现。
原来纠结半天的问题出在这里了。
终于搞明白了。
在老师I讲课的视频上有一段小程序,是分析变量作用范围的。
我分析完毕,然后再win系统上运行VC++ 调试的时候,提示该程序不对。。。
明明就是老师给出来的程序,难道是同样的C程序,在WIn和MAC上运行有差别吗?
#include <stdio.h> int main() { int a = 20; int score = a + 100; printf("%d\n", score); { int score = 50; { score = 10; printf("%d\n", score); } a = 10; } { score = a + 250; int score = 30; printf("%d", score); } printf("%d\n", score); return 0; }
VC++提示syntax error : missing ';' before 'type',
后来我仔细分析,如果把程序中间一个程序块改为
{ int score = 30; score = a + 250; printf("%d", score); }
程序就会顺利通过编译。
经过测试发现,在VC中,在一个程序块内,如果变量声明放在了函数调用或者赋值语句的后面,那么编译的时候就会报错:missing ; before type
然后如果修改将变量声明放在函数调用或者赋值语句之前,就会顺利通过编译。
这个问题在gcc编译C程序的时候都不会出现,只有在VC编译C的时候才会出现。
原来纠结半天的问题出在这里了。
终于搞明白了。
相关文章推荐
- 编译错误syntax error : missing ';' before 'type'原因探寻
- 编译错误syntax error : missing ';' before 'type'原因探寻(VS 编译C文件)
- 编译错误syntax error : missing ';' before 'type'原因探寻
- 编译错误syntax error : missing ';' before 'type'原因探寻
- syntax error : missing ';' before 'type'原因探寻
- 编译错误syntax error : missing ';' before 'type'
- 编译错误syntax error : missing ';' before 'type'原因探寻
- 编译错误syntax error : missing ';' before 'type'
- vs2005 C编译错误syntax error : missing ';' before 'type'
- 编译错误syntax error : missing ';' before 'type'
- 编译错误syntax error : missing ';' before 'type'
- VS编译错误:syntax error : missing ';' before 'type'
- VC编译C代码时错误“ syntax error : missing ';' before 'type' ”
- VC++ 2005中编译C出错:error C2143: syntax error : missing ';' before 'type'
- Cocos2dx 3.6源代码编译错误:syntax error : missing ')' before '{'
- Cocos2dx 3.6源码编译错误:syntax error : missing ')' before '{'
- 编译错误syntax error : missing ';' before 'type'原因
- syntax error : missing ';' before 'type'错误
- syntax error : missing ';' before 'type'错误
- VC++ 2005中编译C出错:error C2143: syntax error : missing ';' before 'type'