我是C的新手,我正试图为Arduino编写一个简单的代码(基于Wiring语言),如下所示:
void loop()
{
distance(cm);
delay(200);
}
void distance(char[3] unit)
{
if (unit[] == "cm")
Serial.println("cm");
}
有人可以告诉我如何写得正确吗? 提前谢谢!
答案 0 :(得分:2)
有几种方法。
最“基本”的是使用strcmp
功能:
void distance(char* unit)
{
if (strcmp(unit, "cm") == 0)
Serial.println("cm");
}
请注意,如果字符串相等,则函数返回0.
如果你有固定长度的字符串,那么测试每个字符的速度更快,耗费的资源更少:
void distance(char* unit)
{
if ((unit[0] == 'c') && (unit[1] == 'm') && (unit[2] == '\0'))
Serial.println("cm");
}
您还可以执行其他操作(例如,如果字符串可以具有不同的长度,则迭代数组)。
再见