「アルゴリズムの注意事項」のセクション3.2 - アナログスタート - >検索要素
直接、構造体の文字列に注意を払う(ただし、通常の出力処理に戻ることができないCのタイトルを繰り返しピットは、返された-1073741819(0xc0000005)に
文字の配列の使用ではなく、直接、配列のサイズを比較し、自分の同じ関数を記述、(等号は常にダイレクトリターン0が...不思議!この式は、0 ..混乱して戻りますされます)
タイトルは、データのセットを言いませんでした、それは読むよりも内で処理され、内部に注意をなでるようにしてくださいがあります
IDは、慎重にタイトルを読んで、彼はいくつかのポジションをアップ固定されていないことを、代わりにint型の文字列を使用してルーチンに注意を払うために、
書式#include <stdio.hに> する#include < 文字列の.h> の#include < 文字列 > 使用して 名前空間はstdを、 BOOL同じ(CHAR S1 []、CHAR S2 []) { // のprintf( "ほら%D%D \ n"、strlenを(S1)、strlenを(S2))。 もし(STRLEN(S1)=の!STRLEN(S2)) を返す 偽。 以下のための(int型 I = 0を ; I <strlen関数(S1)は、i ++は) { 場合(S1 [i]を=!S2 [i])と 返す 偽。 //printf( "この私の%dは\ nを"、i)は、 } を返す 真。 } 構造体学生 { チャー ID [ 256 ]。 文字名[ 256 ]。 チャー性別[ 256 ]。 int型secnum; } STU [ 1005 ]。 INT のmain() { int型N、M。 チャー searchnum [ 256 ]。 int型Q; 一方、(scanf関数(" %のD "、&N)!= EOF) { 用(int型 I = 0 ; iがN <; Iは++ ) { scanf関数(" %sの" 、STU [I] .ID)。 getchar関数(); scanf関数(" %sの" 、STU [I] .nameの)。 getchar関数(); scanf関数(" %sの" 、STU [I] .gender)。 scanf関数(" %のD "、&STU [I] .secnum)。 } のscanf(" %dの"、&M)。 getchar関数(); 一方、(M-- ) { scanf関数("、&searchnum)。 // printfの( "%sのの\ nを"、searchnum)。 getchar関数(); int型の温度= 0 ; // のprintf( "%d個の\ n"、同じ(STU [TEMP] .ID、searchnum))。 一方、(温度<N &&!.ID、searchnum)同じ(STU [TEMP]) // のprintf( "%d個の\ n"は、STU [TEMP] .ID == searchnum!)。 // しばらく(温度<N && STU [TEMP] .ID == searchnum!) 一時++ ; もし(一時== N) のprintf(" 無回答\ N!" ); 他の { のprintf("、STU [TEMP] .ID)。 printf(" %sの" 、STU [TEMP] .nameの)。 printf(" %sの" 、STU [TEMP] .gender)。 printf(" %d個の\ n " 、STU [TEMP] .secnum)。 } } } 戻り 0 。 }