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