2012-05-07 32 views
-2

我已经帐号是在相同的形式SS号,例如,123-12-1234什么C变量的类型应该被起诉来存储这些?原始类型是否可以保存这样的“数字”?简单的解释也会很棒!感谢其中c变量类型使用

+0

认为这是写作'123121234',怎么可能值储存在哪里? – 2012-05-07 23:42:53

回答

4

你怎么想这些数字呢?如果要显示它们,您可能希望将它们作为字符串存储。如果每个部分意味着什么并且您将会比较它们,您可能希望将其存储为3个整数。如果您要进行大量的比较或排序,您可能希望将其存储为1 int并在显示时处理格式。

+0

因此,如果我将它分配给某种int,它仍然能够处理它,它不会保留破折号?我想知道在C中是否有某种怪癖让我可以很好地处理这些问题。没有指定特定用途。 – Extinct23

+0

这一切都取决于你的输入。无论你将它存储在int中,你都需要去掉破折号。你在哪里做,这取决于。但是你不能做int x = 123-45-6789。那么你可以,但你会得到一堆减法而不是破折号。如果你有一个数据库,你可以一次性去掉破折号。如果您获得用户输入,则可以让他们输入而不用破折号。一切取决于你想要做什么。 – Justin

3

如果该帐户号码具有固定数目的字符,字符的固定阵列等char[11]可能是适当的;否则去传统的以null结尾的char数组(a.k.a.“C string”)。

0

,如果你反映了它,你会看到的char */[长] INT将满足您的需求。根据您的需要

0

我想使用它作为一个char *会更好。这样做,您还可以实施2级哈希来搜索帐号。