标题:
syntax error near 'data'
[打印本页]
作者:
mujin601
时间:
2024-3-30 11:17
标题:
syntax error near 'data'
#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
哪里错了啊
作者:
老董
时间:
2024-3-30 14:39
"data" 是系统保留字 不能用作变量名 可以改成其他名字如"dat "
作者:
Hephaestus
时间:
2024-3-30 22:33
楼主的代码是从哪里抄来的,贴出来别让其他人入坑。
作者:
mtt661
时间:
2024-4-1 13:04
首先 2楼说的对 data系统保留,改个别的;
然后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已经定义了,主程序里面就直接赋值,不用再定义了。
还有sum += data[ i];[ i]后面这个[ i]是什么情况?
作者:
xiaobendan001
时间:
2024-4-1 13:47
mtt661 发表于 2024-4-1 13:04
首先 2楼说的对 data系统保留,改个别的;
然后unsigned char data[8]_at_0x30; 全局变量名不能这么写吧。 ...
data不是在上面一行定义了?还定位了呢。一般情况下,C里面不需要自行定位变量的位置吧。而且_at_的前后都应该有个空格才行吧。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1