这个c语言的赋值语句是什么错误?
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 09:57:46
这个c语言的赋值语句是什么错误?
#define buffer_size 256
typedef struct
{
char rcv_buf[buffer_size];
char Send_buf[buffer_size];
char RcvGetIndex; //指向当前最后读取的数据位,下次读取时先步进一位.
char RcvPutIndex; //指向当前最后写入的数据位,下次写入时先步进一位.
char SendGetIndex;
char SendPutIndex;
int bOverFLow;
int bEnableTskTxd;
int TxdCnt;
} UART_BUFFER_TYPE;
UART_BUFFER_TYPE UartBuffer;
char YEAR[4];
for(y=0;y
#define buffer_size 256
typedef struct
{
char rcv_buf[buffer_size];
char Send_buf[buffer_size];
char RcvGetIndex; //指向当前最后读取的数据位,下次读取时先步进一位.
char RcvPutIndex; //指向当前最后写入的数据位,下次写入时先步进一位.
char SendGetIndex;
char SendPutIndex;
int bOverFLow;
int bEnableTskTxd;
int TxdCnt;
} UART_BUFFER_TYPE;
UART_BUFFER_TYPE UartBuffer;
char YEAR[4];
for(y=0;y
你应该是写错了,YEAR[z]而不是YEAR[z1],z1这个变量没有声明.
另外,你这个程序,UartBuffer.rcv_buf[y]有越界的可能(最后一次循环,y有可能大于255).
回答补充:
你举的例子中应该没有错误.下面是我的测试程序,编译及运行成功
#include
#define buffer_size 256
typedef struct
{
char rcv_buf[buffer_size];
char Send_buf[buffer_size];
char RcvGetIndex; //指向当前最后读取的数据位,下次读取时先步进一位.
char RcvPutIndex; //指向当前最后写入的数据位,下次写入时先步进一位.
char SendGetIndex;
char SendPutIndex;
int bOverFLow;
int bEnableTskTxd;
int TxdCnt;
} UART_BUFFER_TYPE;
UART_BUFFER_TYPE UartBuffer;
char YEAR[4];
int main()
{
int y, z;
for(y=0;y
另外,你这个程序,UartBuffer.rcv_buf[y]有越界的可能(最后一次循环,y有可能大于255).
回答补充:
你举的例子中应该没有错误.下面是我的测试程序,编译及运行成功
#include
#define buffer_size 256
typedef struct
{
char rcv_buf[buffer_size];
char Send_buf[buffer_size];
char RcvGetIndex; //指向当前最后读取的数据位,下次读取时先步进一位.
char RcvPutIndex; //指向当前最后写入的数据位,下次写入时先步进一位.
char SendGetIndex;
char SendPutIndex;
int bOverFLow;
int bEnableTskTxd;
int TxdCnt;
} UART_BUFFER_TYPE;
UART_BUFFER_TYPE UartBuffer;
char YEAR[4];
int main()
{
int y, z;
for(y=0;y