2013ブルーブリッジカップ【初戦問題】プレフィックス判断


接頭辞判断は以下のコード判断needle_startが指す列がhaystack_かどうかstartが指す列の接頭辞は、そうでない場合はNULLを返します.たとえば、abcd 1234には、接頭辞char*prefix(char*haystack_start,char*needle_start){char*haystack=haystack_start;char*needle=needle_start;
   while(*haystack && *needle){   if(______________________________) return NULL;//穴埋め位置}if(*needle)return NULL;   return haystack_start; }
 
コードロジックを分析し、スクライブのコードを推測し、Webページで提出してください.注意:欠けているコードだけを答えにして、余分なコード、記号、説明文字を記入しないでください!!
 
答え:*(haystack+)!=*(needle++)
解析(注釈参照)注意:haystackは判断する文字列であり、needleは接頭辞である.
char* prefix(char* haystack_start, char* needle_start)
{
 char* haystack = haystack_start;//       
 char* needle = needle_start;//         

 
 while(*haystack && *needle){
    //                ,  ,     ,    
    // needle            ,       
    //  haystack    abc123, needle    abc
    //   haystack  1 ,needle     ,  
    //  null( ) ,   *haystack && *needle null
    //while    ,     
     //          ,  needle        haystack     
     //            
  if(*(haystack++)!=*(needle++)) return NULL;  //    
 }
 
 if(*needle) return NULL;//     needle     ,      
 
 return haystack_start;//        
}