2012-05-07 39 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級哈希來搜索帳號。