我正在为Arduino编写一些代码,我不确定我是否正确检查了这个字符变量的值.你能告诉我这是否正确:
const char* front = "front";
const char* back = "back";
eyeballs(front);
eyeballs(back);
void eyeballs(const char* frontOrBack){
if (frontOrBack == "front") {
digitalWrite(frontEyes, LOW);}//end if
else if (frontOrBack == "back") {
digitalWrite(backEyes, LOW);}//end else*/
}
Run Code Online (Sandbox Code Playgroud)
您需要使用strcmp()比较C字符串.你做的是指针比较.
if ( strcmp(frontOrBack, "front") == 0 ) {
digitalWrite(frontEyes, LOW);}//end if
else if ( strcmp(frontOrBack, "back") == 0 ) {
digitalWrite(backEyes, LOW);}//end else*/
}
Run Code Online (Sandbox Code Playgroud)
在这个比较中,
if (frontOrBack == "front") {
Run Code Online (Sandbox Code Playgroud)
将指针值frontOrBack与字符串文字的地址进行比较"front"(在表达式中,字符串文字将转换为指向其第一个元素的指针).
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |