char *w = hage();
if(w){
if(strncmp(token, w, strlen(w))) hoge();
}

みたいなときって
if(w && strncmp(token, w, strlen(w))) hoge();
と書いても問題ないですか?
左から順に評価することは保証されていますか?