因此,假设您的代码中有一个整数声明
int my_num = 967892;
你有一个数组
int a[6];
你如何将这个整数放入数组中,看起来像这样?
{ 9, 6, 7, 8, 9, 2 }
答案 0 :(得分:2)
也许是这样:
const unsigned char digits[] = { 9, 6, 7, 8, 9, 2 };
但是当然,你的问题有很多不清楚的地方。
如果您想在运行时执行此操作,因为您的评论现在让我相信,您当然需要更多代码。此外,制作阵列" fit"确切的数字,因为这需要运行时调整数组。
核心操作是% 10
,当应用于数字时会产生最右边的数字(" 1"数字)。
答案 1 :(得分:2)
您可以通过获取每个数字并将其放入数组来完成此操作。感谢@unwind考虑使用query = query.Where(e => e.Dates.Count == 1 && e.Dates[0] == myDateValue);
,因为数字没有符号。我没有想到这一点。
DISClAIMER :这段代码未经测试,但从理论上讲,如果我没有犯下任何社区将会抓到的错误,那就完成了你的任务。
注意:当unsigned int
为否定时,此程序是实现定义的。有关这意味着什么的更多信息,请参阅this SO问题。此外,该帖子重复的问题中接受的答案具有比此更短的代码,但使用theNum
(根据评论者)可能不准确。
log10
答案 2 :(得分:0)
如果这应该动态完成:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:output
method="xml"
omit-xml-declaration="no"
encoding="UTF-8"
indent="yes" />
<xsl:strip-space elements="*"/>
<xsl:key name="ref-on-page" match="page/p/text()" use="matches(., '\sbeat\s', 'i')"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!--
putting links to glossary terms in text
how to make this hit on only the first occurrence on the page?
-->
<xsl:template match="page/p/text()[. is key('ref-on-page', true(), ancestor::page)[1]]">
<xsl:analyze-string select="." regex="\s(beat)\s" flags="i">
<xsl:matching-substring>
<xsl:text> </xsl:text>
<term keyref="beat">
<xsl:value-of select="regex-group(1)"/>
</term>
<xsl:text> </xsl:text>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:template>
</xsl:stylesheet>
。N
)来保存数字。>=N
次切断数字并将其存储在2下分配的数组中。答案 3 :(得分:0)
我认为你想要达到这样的目的:
int arr[SOME_SIZE];
int len = int_to_array(arr,421);
assert(len == 3);
assert(arr[0] == 4);
assert(arr[1] == 2);
assert(arr[1] == 1);
由于这可能是一个家庭作业问题,我不会给出完整的答案,但是你想要一个循环,并且你想要一种从int获取最后一个十进制数字的方法,以及删除最后一位数的int。
所以这里有一个暗示:
421 / 10 == 42
421 % 10 == 1
如果要创建正确长度的数组,有多种方法:
realloc()
或类似的(我们以前没有过的奢侈品!)答案 4 :(得分:0)
最低有效数字为num%10
下一个数字可以通过num / = 10;
找到这适用于正数,但是为负数
定义了实现