【发布时间】:2014-12-23 05:42:00
【问题描述】:
由于某种原因,我的以下程序无法编译,我无法真正找出原因。我把方法放在 cmets 之间,所以错误不在那里我猜它可能与 typedef 有关。
#include <stdio.h>
#include <stdlib.h>
typedef unsigned char uchar;
typedef unsigned int uint;
uchar register(uint);
int main() {
uint data = 819;
/*
printf("%c", register(data));
*/
}
uchar register(uint data) {
/*
uchar reg = 0;
while(data != 0) {
if(reg&0x80 == 1) {
reg=reg<<1;
reg += data&0x1;
data = data>>0;
reg = reg ^ 81;
}
else {
reg<<1;
reg += data&0x1;
data = data>>0;
}
}
return reg;
*/
}
错误:
[Note] previous declaration of 'uint' was here
[Error] expected ')' before 'data'
[Error] expected expression before 'register'
【问题讨论】:
-
register是C语言中的关键字,不能调用函数register。
标签: c char int typedef unsigned