char* timecompare(){
char time[8];
snprintf(time,8,"%i:%02i",hour(),minute());
return time;
}
char* timefeed = "8:0";
if (strcmp(timecompare(), timefeed) == 0){
Serial.println("hello");
}
当timecompare()和timefeed都相等,它不是打印你好吗?我这是一个指针问题?我而不是比较timecompare()与timefeed我比较timecompare()与“8:0”,然后循环工作......这是一个问题与timefeed变量?Strcmp比较相同的字符串,但不进入循环
malloc行给了我一个错误无效转换从void *到char * – user541597 2011-04-29 03:05:41
,再次我可以键入一个值而不是变量timefeed并得到正确的结果,所以是不是问题timefeed变量? – user541597 2011-04-29 03:06:56
现代编译器不应该那样做。你必须从malloc'char * time =(char *)malloc(8);' – 2011-04-29 03:07:21