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は接頭辞である.
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;//
}