刚学习C51,有个问题想问问大家

[复制链接]
 楼主| hbjl_pzg 发表于 2008-4-26 20:15 | 显示全部楼层 |阅读模式
一段程序这样写不会报错:
#include<stdio.h>
#include<reg52.h>
void initial(void);
int i=0;
main()
{
   int a,b,c;
   a=2,b=3,c=4;  
   initial();
   while(1);
}
void initial(void)
{
   IE=0x82;
   TCON=0x00;
   TMOD=0x01;
   TH1=255;
   TH0=56;
   TR1=1;
}

但是这样写,就报错了,只是将一些语句变了一下先后顺序
#include<stdio.h>
#include<reg52.h>
void initial(void);
int i=0;
main()
{
   initial();
   int a,b,c;
   a=2,b=3,c=4;
   while(1);
}
void initial(void)
{
   IE=0x82;
   TCON=0x00;
   TMOD=0x01;
   TH1=255;
   TH0=56;
   TR1=1;
}

出错提示为:
TEXT1.C(8): error C141: syntax error near 'int'
TEXT1.C(8): error C202: 'a': undefined identifier
TEXT1.C(9): error C202: 'a': undefined identifier
请问是什么原因造成的?

onemillion 发表于 2008-4-26 20:18 | 显示全部楼层

顶,你以为是C++啊,

 变量定义都跑到代码后面了,看看基本的C编程书籍再来写程序.
hotpower 发表于 2008-4-26 20:51 | 显示全部楼层

a=2;b=3;c=4;

狂崽 发表于 2008-4-26 21:42 | 显示全部楼层

顶,函数内部变量的定义在最前面啊

顶,函数内部变量的定义在最前面啊
外部变量就随便了,从它定义开始以下的函数可以调用
zxq1234508 发表于 2008-4-27 13:58 | 显示全部楼层

4L正解

ahai0306 发表于 2008-4-27 16:52 | 显示全部楼层

出现了语法问题!

变量应该定义在函数里的最上面,出现了语法问题!
可以参考本人的程序:
我的论坛:http://dianzi.5d6d.com/?fromuser=mcu_51     
关于电子、单片机、毕业设计、电气、ARM、CPLD等方面学习的个人论坛,欢迎大家进来注册学习!
我的博客:
http://blog.**/ahai0306/
有丰富学习资料,开发板公开的程序等等!
欢迎大家过来学习!
ayb_ice 发表于 2008-4-28 09:53 | 显示全部楼层

肯定不是想怎么写就怎么写

您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

54

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部