标题:这是怎么回事啊?
只看楼主
waja
Rank: 2
等 级:论坛游民
帖 子:53
专家分:52
注 册:2012-7-27
结帖率:81.82%
已结贴  问题点数:10 回复次数:7 
这是怎么回事啊?
#include <reg51.h>
void delays(unsigned int i);
void main(void)
{
    char LED;
    LED = 0xfe;
    unsigned char i;
    unsigned char j;
    while(1)
    {
        for (i = 255; i > 0; i--)
        {
            P2 = LED;                     
            delays(500);
            LED = LED << 1;
            LED = LED | 0x01;
            if (LED == 0x7f)
                break;
        }
        for (j = 255; j > 0; j--)
        {
            P2 = LED;
            delays(500);
            LED = LED >> 1;
            LED = LED | 0x80;

        }
    }
}

void delays(unsigned int i)
{
    unsigned char j;
    for (i; i > 0; i--)
        for (j = 255; j > 0; j--) ;
}


返回
DEMO.C(7): error C141: syntax error near 'unsigned'
DEMO.C(7): error C202: 'i': undefined identifier
DEMO.C(8): error C141: syntax error near 'unsigned'
DEMO.C(8): error C202: 'j': undefined identifier
DEMO.C(11): error C202: 'i': undefined identifier
DEMO.C(19): error C202: 'j': undefined identifier
Target not created
搜索更多相关主题的帖子: void include 
2013-03-23 23:41
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
得分:2 
DEMO.C(7): error C141: syntax error near 'unsigned'
 DEMO.C(7): error C202: 'i': undefined identifier
 DEMO.C(8): error C141: syntax error near 'unsigned'
 DEMO.C(8): error C202: 'j': undefined identifier
 DEMO.C(11): error C202: 'i': undefined identifier
 DEMO.C(19): error C202: 'j': undefined identifier
//只说错误,因为我不知道#include <reg51.h>是什么内容。
//语法错误和i,j未定义
//你这里面i,j在不分类型的使用,char型当int型用
2013-03-24 01:45
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
得分:2 
    char LED;
    LED = 0xfe;
    unsigned char i;
    unsigned char j;

赋值语句不能出现在变量声明之前,否则后面的声明就无效了,因此说你没定义i,j
改成
    char LED;
    unsigned char i;
    unsigned char j;
    LED = 0xfe;

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-03-24 07:03
sonzo414
Rank: 1
来 自:四川成都
等 级:新手上路
帖 子:12
专家分:8
注 册:2013-3-13
得分:2 
回复 3楼 pauljames
厉害, 不知道层主是不是经常在线的? 我也是个C语言初学者。
2013-03-24 10:39
奔跑的萝卜
Rank: 2
等 级:论坛游民
帖 子:43
专家分:55
注 册:2013-3-18
得分:2 
发错版块了。你该到单片机编程发的。
3楼答案正确!!!!!!!!!!!1

[ 本帖最后由 奔跑的萝卜 于 2013-3-24 14:23 编辑 ]
2013-03-24 14:15
czzdcn123
Rank: 7Rank: 7Rank: 7
来 自:江西
等 级:黑侠
威 望:3
帖 子:258
专家分:510
注 册:2013-3-7
得分:2 
只知道没定义 i j
2013-03-24 15:11
waja
Rank: 2
等 级:论坛游民
帖 子:53
专家分:52
注 册:2012-7-27
得分:0 
回复 3楼 pauljames
谢谢了,我想在咨询一个问题
请看:
#include "iostream.h"

void main()
{
    int x;
    x = 1;
    int y;
}

return :

--------------------Configuration: C_1 - Win32 Debug--------------------
Compiling...
C_1.CPP
C:\Documents and Settings\Administrator\桌面\app_soft\2013\C_program_keti\test\C_1.CPP(7) : warning C4101: 'y' : unreferenced local variable

C_1.OBJ - 0 error(s), 1 warning(s)

编译器是VSC++6.0   
是不是说 C语言要求全部变量在程序的开头进行定义,这个规则是根据编译器的不同而不同。
2013-03-24 23:09
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
得分:0 
回复 7楼 waja
你看那个警告什么意思了吗?是未使用定义的变量y。c语言中只是提倡或者说也要求变量要在开始定义,但是编译器还是允许你在使用的时候定义的,只是要在使用前定义。
2013-03-24 23:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-401737-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058984 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved