在下面的代码中,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)
{
}
提前致谢。
在下面的代码中,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)
{
}
提前致谢。
尝试这个:
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)
{
}
相反,如果在 for 循环中使用 i++,则可以将 i 增加 2,而不是 1,这样 i 将是 0、2、4 等。然后你的两个字符是 s[i] 和 s[i+1]。将这些传递给一个新函数,该函数将两个字符(或一个字符数组)作为参数并打印它们。