【发布时间】:2011-08-31 14:55:24
【问题描述】:
现在,我看到了各种各样的例子,但我不明白它们的意思。
这是我的结构
typedef struct profile{
char gender[1];
double soc;
. . .
} PROFILE;
soc 是我要排序的社会安全号码。
我知道您需要一个比较功能,但我不知道如何找到我需要的确切功能。
【问题讨论】:
-
double似乎是社会安全号码的一种相当荒谬的类型。它应该是char [10](如果您想允许输入非严格数字值)或uint32_t。 -
不要让反对者打扰你。
double可能并不理想,但对于保存 9 位整数值来说已经足够了。至少你不会遇到舍入分数表示的问题。 -
@Mark Ransom:我几乎不认为反对者是指出不正确的设计/代码的合适术语!社保号从什么时候开始有分数的了!
-
@Mark Ransom:我认为 Stack Overflow 中没有任何规则禁止主动提供与问题不直接相关的主题的建议。如果有的话,我已经违反了很多次了。另外,我不同意你的观点。双倍绝对是错误的。
-
@Mark Ransom:是的,它会起作用,但它没有多大意义,特别是当您查看美国 SSN 的验证要求时。顺便说一句,在英国相当于 SSN 的是 NI 编号,它实际上确实以两个字母开头。