【发布时间】:2015-08-05 17:11:44
【问题描述】:
给定变量a、b和c:
uint32_t a;
uint16_t b, c;
根据 MISRA-C 2012 标准,表达式 a+b+c 是合规的,而 b+c+a 是不合规的。
为什么?
【问题讨论】:
-
老实说,这个问题太神秘了……
-
抱歉,问题应该是 U32a+u16b+u16c 符合 MISRA-C 而 U16a+u16b+u32c 不符合。
-
@ramsurada 什么是“MISRA C”?什么是“u32a”、“u16c”、“u16c”? (我知道答案,但我敢打赌,对于这个网站的大多数成员来说,答案并不明显。)
-
@Tavian MISRA-C 是一个编码标准框架,供开发人员提供证据证明对 C 语言结构的认识和/或避免导致行为不由标准(即未定义、未指定和实现特定的行为)。这也适用于定义明确的 C 语言结构(经过多年的实践),会导致(或强烈暗示)意外行为。请参阅 misra-c.com
-
引用规则编号。