0

在下面的代码中,displayChar() 获取值为 a,b,c,d,e,f。但我希望它为 ab,cd,ef。我怎样才能做到这一点?

void displayString(char* s)
{
  for (int i = 0; i<=strlen(s); i++)
  {
  displayChar(s[i]);
  }
}

void loop()
{
  displayString("abcdef");
}

void displayChar(char c)
{
}

提前致谢。

4

2 回答 2

1

尝试这个:

void displayString(char* s)
{
  for (int i = 0; i<=strlen(s); i+=2)
  {
      char temp[3] = {s[i], s[i+1],'\0'};
      displayChar( temp );
  }
}

void loop()
{
  displayString("abcdef");
}

void displayChar(char* c)
{
}
于 2014-07-11T14:25:43.033 回答
0

相反,如果在 for 循环中使用 i++,则可以将 i 增加 2,而不是 1,这样 i 将是 0、2、4 等。然后你的两个字符是 s[i] 和 s[i+1]。将这些传递给一个新函数,该函数将两个字符(或一个字符数组)作为参数并打印它们。

于 2014-07-10T19:43:09.720 回答