我有一个存储芯片,它有一个嵌入式系统串行读取的数据。存储设备具有10个位置,每个位置具有以下信息: customerID、NumOfParts、MFGName。这是我为此编写的C代码版本。
在C文件"PartName.h“中
//"PartName.h"
#ifndef PartName_H
#define PartName_H
typedef UINT8 MFGName_Struct_t [10];
typedef struct
{
UINT8 customerID;
UINT8 NumOfParts;
MFGName_Struct_t MFGName;
}IDENT_Struct_t;
typedef struct MFG_Struct_t
{
UINT8 <some other variable>;
UINT8 <some other variable>;
IDENT_Struct_t Ident1;
IDENT_Struct_t Ident2;
IDENT_Struct_t Ident3;
IDENT_Struct_t Ident4;
IDENT_Struct_t Ident5;
IDENT_Struct_t Ident6;
IDENT_Struct_t Ident7;
IDENT_Struct_t Ident8;
IDENT_Struct_t Ident9;
IDENT_Struct_t Ident10;
} MFG_Struct_t;
#endif
在C文件"HighNum.c“中
//"HighNum.c"
#include "PartName.h"
static MFG_Struct_t MFG;
UINT8 HighNum(void)
{
//UINT8 i;
UINT8 highestNum = 0;
//for (i = 0;(i < 10);i++)
if (MFG.Ident1.NumOfParts > MFG.Ident2.NumOfParts)
{
highestNum = MFG.Ident1.NumOfParts;
}
if (MFG.Ident2.NumOfParts > MFG.Ident3.NumOfParts)
{
highestNum = MFG.Ident2.NumOfParts;
}
if (MFG.Ident3.NumOfParts > MFG.Ident4.NumOfParts)
{
highestNum = MFG.Ident3.NumOfParts;
}
if (MFG.Ident4.NumOfParts > MFG.Ident5.NumOfParts)
{
highestNum = MFG.Ident4.NumOfParts;
}
<and so on>
return highestNum;
}
如何在C中更有效地完成这项工作?使用for语句还是While语句?我想过将数字部分连接起来并循环遍历变量...
https://stackoverflow.com/questions/44450582
复制相似问题