找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1679|回復: 4
打印 上一主題 下一主題
收起左側(cè)

syntax error near 'data'

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1114757 發(fā)表于 2024-3-30 11:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52.h>

unsigned char data[8]_at_0x30;
data[8] = {0x22, 0x89, 0x18, 0x33, 0xF6, 0x52, 0x92, 0x05};
unsigned char max, min;
unsigned int sum;
unsigned char avg;

void main() {
        int i;
    char max = data[0];
    char min = data[0];
    int sum = 0;

    for (i = 0; i < 8; i++) {
        if (data[ i] > max) {
            max = data[ i];
        }

        if (data[ i] < min) {
            min = data[ i];
        }

        sum += data[ i];[ i]
    }

    avg = sum / 8;

    *((unsigned char *)0x40) = max;
    *((unsigned char *)0x41) = min;
    *((unsigned char *)0x42) = avg;
        while (1){
        };

}

main.c(21): error C141: syntax error near 'data'
main.c(24): error C141: syntax error near 'data'
Target not created.
Build Time Elapsed:  00:00:01
哪里錯了啊


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

使用道具 舉報

沙發(fā)
ID:849913 發(fā)表于 2024-3-30 14:39 | 只看該作者
"data" 是系統(tǒng)保留字 不能用作變量名 可以改成其他名字如"dat "
回復

使用道具 舉報

板凳
ID:883242 發(fā)表于 2024-3-30 22:33 | 只看該作者
樓主的代碼是從哪里抄來的,貼出來別讓其他人入坑。
回復

使用道具 舉報

地板
ID:1010435 發(fā)表于 2024-4-1 13:04 | 只看該作者
首先 2樓說的對 data系統(tǒng)保留,改個別的;
然后unsigned char data[8]_at_0x30; 全局變量名不能這么寫吧。
第二行data[8] = {0x22, 0x89, 0x18, 0x33, 0xF6, 0x52, 0x92, 0x05}; data沒有定義吧 char 還是 int?
然后:    char max = data[0];
             char min = data[0];
以上max和min已經(jīng)定義了,主程序里面就直接賦值,不用再定義了。
還有sum += data[ i];[ i]后面這個[ i]是什么情況?

回復

使用道具 舉報

5#
ID:1109793 發(fā)表于 2024-4-1 13:47 | 只看該作者
mtt661 發(fā)表于 2024-4-1 13:04
首先 2樓說的對 data系統(tǒng)保留,改個別的;
然后unsigned char data[8]_at_0x30; 全局變量名不能這么寫吧。 ...

data不是在上面一行定義了?還定位了呢。一般情況下,C里面不需要自行定位變量的位置吧。而且_at_的前后都應該有個空格才行吧。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表