C++ C++;编程代码计数[s[i]';0';]++;; for(int i=0;iX

C++ C++;编程代码计数[s[i]';0';]++;; for(int i=0;iX,c++,C++,这段代码是什么意思,任何人都可以解释这段代码“counts[s[i]-“0']++;”精确运算是一个十元素数组,用于计算每个数字在s中出现的次数 具体而言: s[i]-'0'将'0'转换为0,'1'转换为1等 计数[…]+递增数组的相应元素 counts是一个十元素数组,用于计算每个数字在s中出现的次数 具体而言: s[i]-'0'将'0'转换为0,'1'转换为1等 计数[…]+递增数组的相应元素 代码正在计算一个数字(1-9)在字符串s中出现的次数 注意'i'-'0'与i-0相同。 原因是

这段代码是什么意思,任何人都可以解释这段代码“counts[s[i]-“0']++;”精确运算是一个十元素数组,用于计算每个数字在
s
中出现的次数

具体而言:

  • s[i]-'0'
    '0'
    转换为
    0
    '1'
    转换为
    1
  • 计数[…]+
    递增数组的相应元素

counts
是一个十元素数组,用于计算每个数字在
s
中出现的次数

具体而言:

  • s[i]-'0'
    '0'
    转换为
    0
    '1'
    转换为
    1
  • 计数[…]+
    递增数组的相应元素

代码正在计算一个数字
(1-9)
在字符串
s
中出现的次数

注意<如果
i
是一个
数字,则code>'i'-'0'
i-0
相同。 原因是字符
'0'-'9'
具有连续的ASCII值。因此
'i'
'0'
之间的ASCII值差异是
i

现在让我们说

for (int i = 0; i < s.length(); i++)
{
   if (isdigit(s[i]))
   counts[s[i] - '0'] ++;
}

循环中

我们检查
s[i]

int count[10] is all zeros
等等


最后,
count[i]
将告诉您字符串中有多少个
i
s。

代码正在计算一个数字
(1-9)
在字符串
s
中出现了多少次

注意<如果
i
是一个
数字,则code>'i'-'0'
i-0
相同。 原因是字符
'0'-'9'
具有连续的ASCII值。因此
'i'
'0'
之间的ASCII值差异是
i

现在让我们说

for (int i = 0; i < s.length(); i++)
{
   if (isdigit(s[i]))
   counts[s[i] - '0'] ++;
}

循环中

我们检查
s[i]

int count[10] is all zeros
等等

最后,
count[i]
将告诉您字符串中有多少个
i
s。

希望这有帮助

1) “0”的Ascii值为48

2) 只要s[i]是一个数字(0-9之间包括在内)

3) s[i]-“0”计算为索引(0到9之间,包括0到9)

例如: “1”的Ascii值为49 假设s[i]是“1” 那么s[i]-“0”是49-48=1

4) counts[s[i]-“0']++将计算在s[i]中找到特定数字的次数。

希望这有帮助

1) “0”的Ascii值为48

2) 只要s[i]是一个数字(0-9之间包括在内)

3) s[i]-“0”计算为索引(0到9之间,包括0到9)

例如: “1”的Ascii值为49 假设s[i]是“1” 那么s[i]-“0”是49-48=1

4) 计数[s[i]-“0']++将计算在s[i]中找到特定数字的次数。

  • 计数
    是一个数组

  • s[i]
    是一个包含ASCII格式数字的字符<代码>'0',
    '1'
    '2'

  • s[i]-“0”
    将它们转换为整数<代码>1,
    2
    3

  • 上面的数字表示数组中第n项的索引-->
    X

  • 计数[X]+
    将数组的第X项增加一个

      • 计数
        是一个数组

      • s[i]
        是一个包含ASCII格式数字的字符<代码>'0',
        '1'
        '2'

      • s[i]-“0”
        将它们转换为整数<代码>1,
        2
        3

      • 上面的数字表示数组中第n项的索引-->
        X

      • 计数[X]+
        将数组的第X项增加一个


      计算数组中每个数字
      0-9
      的个数。计算数组中每个数字
      0-9
      的个数。
      s[i]-“0”
      的美妙之处在于,即使字符编码不是ASCII,它也能工作。在我的IBM大型机上,
      '0'
      的代码是240,但代码仍然有效!没错,代码是可移植的。我刚刚选择了Ascii图表作为例子。
      s[I]-“0”
      的美妙之处在于,即使字符编码不是Ascii,它也能工作。在我的IBM大型机上,
      '0'
      的代码是240,但代码仍然有效!没错,代码是可移植的。我只是选择Ascii图表作为例子。