找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2673|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

請(qǐng)大神們解惑,關(guān)于C語言的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

//請(qǐng)問為什么在main函數(shù)中聲明變量一定要放在最前,詳細(xì)的疑問請(qǐng)看程序
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1 = P3^4;
sbit dula = P2^6;
sbit wela = P2^7;
uchar code table[]={
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,
0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c,
0x39, 0x5e, 0x79, 0x71
                                   };
void main(void)
{
        uchar num;//num變量放在這里申明,程序不會(huì)出錯(cuò),放在下面注釋的位置就會(huì)出錯(cuò)???請(qǐng)大神解釋下
        wela = 1;
        P0 = 0xfe;
        wela = 0;
        //uchar num;///////num變量如果是在這里申明;那么程序就會(huì)出錯(cuò),請(qǐng)問我們?cè)谏昝鱩ain函數(shù)中的變量的時(shí)候?yàn)槭裁匆欢ㄒ旁诘谝晃?
        P3 = 1;
       
        while(1)
        {
                if(key1 == 0)
                {
                        num++;       
                }
                dula = 1;
                P0 = table[num];
                dula = 0;
        }
}

解惑圖.png (30.25 KB, 下載次數(shù): 127)

程序圖

程序圖
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:111874 發(fā)表于 2016-7-2 11:24 | 只看該作者
這個(gè)只變量,不看其他的其他端口設(shè)置
回復(fù)

使用道具 舉報(bào)

板凳
ID:128908 發(fā)表于 2016-7-2 13:19 | 只看該作者
這是c語言標(biāo)準(zhǔn)的問題, 你編譯的時(shí)候, 指定c99標(biāo)準(zhǔn), 就可以不在開頭聲明了。
回復(fù)

使用道具 舉報(bào)

地板
ID:128414 發(fā)表于 2016-7-2 13:35 | 只看該作者
哎呀  看不懂
回復(fù)

使用道具 舉報(bào)

5#
ID:123289 發(fā)表于 2016-7-2 20:41 | 只看該作者
你給NUM付個(gè)值再試試?
回復(fù)

使用道具 舉報(bào)

6#
ID:110895 發(fā)表于 2016-7-2 23:37 | 只看該作者
先定義,再使用,即可。
回復(fù)

使用道具 舉報(bào)

7#
ID:129025 發(fā)表于 2016-7-3 10:50 | 只看該作者
你編譯的時(shí)候, 指定c99標(biāo)準(zhǔn), 就可以不在開頭
回復(fù)

使用道具 舉報(bào)

8#
ID:111874 發(fā)表于 2016-7-3 22:50 | 只看該作者
pynux 發(fā)表于 2016-7-2 13:19
這是c語言標(biāo)準(zhǔn)的問題, 你編譯的時(shí)候, 指定c99標(biāo)準(zhǔn), 就可以不在開頭聲明了。

還可以指定C99標(biāo)準(zhǔn)?
回復(fù)

使用道具 舉報(bào)

9#
ID:111874 發(fā)表于 2016-7-26 09:58 | 只看該作者
我找到答案了,在C90標(biāo)準(zhǔn)中,具有塊作用域的變量必須申明在塊的開頭。
回復(fù)

使用道具 舉報(bào)

10#
ID:111874 發(fā)表于 2016-7-26 09:59 | 只看該作者
liuyimao485812 發(fā)表于 2016-7-2 23:37
先定義,再使用,即可。

我找到答案了,在C90標(biāo)準(zhǔn)中,具有塊作用域的變量必須申明在塊的開頭。謝謝了
回復(fù)

使用道具 舉報(bào)

11#
ID:134949 發(fā)表于 2016-7-26 10:41 | 只看該作者
按規(guī)矩來就行了嘛,別管那么多
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表