文字列の比較について
Posted: 2007年5月14日(月) 18:20
今文字列の比較にかんするプログラムを作っているのですがもう1歩?の所で指摘をうけてしまいます。
ちなみにC言語の知識はさほどありません、初めて半年くらいです。
#include<stdio.h>
int main(void){
char mojiA[/url]="HELP";
char mojiB[/url]="HELP";
int flag;
int i;
flag=0;//flagの値が0のとき不一致
i=0;
while(mojiA!='\0'&&mojiB!='\0'){
if(mojiA==mojiB){
flag=1;
}
else
flag=0;
i++;
}
if(flag){
printf("Match!\n");
}
return(0);
}
このようなプログラムなんですが気をつけたことはmojiAとBの文字の長さがかわった時に文字の短いところで
ループが終了するようにしていると思うんですが例えばmojiBの値を'H'だけにした場合でもMatch!になって
しまいます。ループの条件がやはりわるいのでしょうか?
調べてみたのですがstrcmpのようなのはまだ教わっていないのでi=0;と初期化した
後のwhile分からできるだけ難しい関数?を使わないで教えてもらいたいです。
長文、駄文ですみませんがよろしくお願いします。
ちなみにC言語の知識はさほどありません、初めて半年くらいです。
#include<stdio.h>
int main(void){
char mojiA[/url]="HELP";
char mojiB[/url]="HELP";
int flag;
int i;
flag=0;//flagの値が0のとき不一致
i=0;
while(mojiA!='\0'&&mojiB!='\0'){
if(mojiA==mojiB){
flag=1;
}
else
flag=0;
i++;
}
if(flag){
printf("Match!\n");
}
return(0);
}
このようなプログラムなんですが気をつけたことはmojiAとBの文字の長さがかわった時に文字の短いところで
ループが終了するようにしていると思うんですが例えばmojiBの値を'H'だけにした場合でもMatch!になって
しまいます。ループの条件がやはりわるいのでしょうか?
調べてみたのですがstrcmpのようなのはまだ教わっていないのでi=0;と初期化した
後のwhile分からできるだけ難しい関数?を使わないで教えてもらいたいです。
長文、駄文ですみませんがよろしくお願いします。