n - 1位数字

时间:2013-03-02 10:36:57

标签: c numbers digits

我有一个' n'数字。我需要打印相同的前n - 1位数。据我所知,它基本上是除以10.但这是在不使用任何算术运算符的情况下完成的。我尝试使用 ctype 中的一些转换,但由于数字的确切长度,即没有。数字未知,我无法使用相同的。

convert int to string, say 12345 to string

set the last position of it to '\0', in my case last position is not known

//i.e. 1, 2, 3, 4, '\0', assuming string size is 5

convert it back to int.// 1234

是否有任何调整或完全不同的东西?

1 个答案:

答案 0 :(得分:2)

使用sprintf()将int转换为字符串。您需要char buffer[SOMESIZE];才能传入sprintf。现在你有一个字符串,你可以操纵。 strlen()会给你它的长度[1]。其余的应遵循您概述的内容。

我会让你弄清楚如何把这些位放在一起。

[1]实际上,您可以使用sprintf的返回值作为长度,因为它返回字符串中生成的字符数。