欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 為什么會提示:main.c(98): error C141: syntax error near 'int'? [打印本頁]

作者: 荒野Contra    時間: 2021-1-15 10:48
標題: 為什么會提示:main.c(98): error C141: syntax error near 'int'?
為什么這一段會報錯 syntax error near 'int' (其中SEG_init是數碼管初始化,LED_init是LED初始化,其他部分見后面)
然后后面都是main.c(98): error C202: 'i': undefined identifier

但我把97行與98行交換之后就不報錯了,這個問題遇到好多次了,倒都知道怎么改,但不知道為什么錯。還有直接在for語句里面(int i=0......)也報錯求知!謝謝

uchar num[] = {0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
void main(void)
{
        while(1)
        {
                SEG_init();                                        //L97
                int i;                                                   //L98
                for(i=9;i>=0;i--)
                {
                        P0 = num[ i];
                        delayms(1000);
                }
                LED_init();
                P0=0xFE;
                delayms(1000);
        }
}


其他部分如下:
  1. #include <STC15F2K60S2.H>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. void delayms(int ms)                //延時函數ms
  5. {
  6.         int i,j;
  7.         for(i=0;i<ms;i++)
  8.                 for(j=0;j<845;j++);
  9. }

  10. void LED_init()
  11. {
  12.         P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;
  13. }

  14. void SEG_init()
  15. {
  16.         P2=0XC0;P0=0X01;P2=0XFF;P0=0XFF;
  17. }
復制代碼

作者: zwf33    時間: 2021-1-15 15:57
void SEG_init()  定義數據類型了嗎???????????
作者: 名字不是重點    時間: 2021-1-15 16:04
本帖最后由 名字不是重點 于 2021-1-15 16:08 編輯

  void main(void)
{
     int i;                                                   //L98        while(1)
        {
              SEG_init();                                        //L97
              
這2行調整一下位置就OK了,因為聲明、定義、常數等要放在代碼的前邊


作者: 荒野Contra    時間: 2021-1-17 11:29
名字不是重點 發表于 2021-1-15 16:04
void main(void)
{
     int i;                                                   //L98        whi ...

我知道這樣改,但是這個原因嗎?為什么以前C語言里面,直接在for語句里面定義i都沒問題,C51里面不行?問一下
謝謝
作者: wofei1314    時間: 2021-1-17 14:57
荒野Contra 發表于 2021-1-17 11:29
我知道這樣改,但是這個原因嗎?為什么以前C語言里面,直接在for語句里面定義i都沒問題,C51里面不行?問 ...

C51的變量定義只能在函數開始的地方,C99以后支持任意地方定義,但是C51不支持
作者: 荒野Contra    時間: 2021-1-19 10:08
wofei1314 發表于 2021-1-17 14:57
C51的變量定義只能在函數開始的地方,C99以后支持任意地方定義,但是C51不支持

好的,知道了!蟹蟹
作者: shijinbede    時間: 2021-5-26 19:39
先定義I,之后在使用,定義在所有函數最前面
作者: liuzx66    時間: 2021-5-26 19:45
c不支持,c++可以




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1