質問: 配列 キーボードから文字列を二つ入力し、文字列が一致しているか否かを表示するプログラムで、 基本的な部分は出来たんですが文字列中の「?」はすべての文字と一致する文字とする、という条件がどうしてもわからずこまっています。 例:「abc?ef」 「abcdef」 「abc?ef」 「??ckef」(すべて一致する) よろしくお願いします。
回答: わからないけど、strcmp()に「 || *a=='?' || *b=='?'」を加えたこんな感じじゃないかなぁ。 //等しければゼロを返す int hotcmp(char *a, char *b) { int judge; while(*a && *b && *a==*b || *a=='?' || *b=='?') a++,b++; if(*a>*b) judge=1; else if(*a<*b) judge=-1; else judge=0; return judge; }