みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C言語 文字列の比較 compare

プログラミング初心者です。
60文字以内の文字列を入力して、
大小関係を比較・表示するプログラムなのですが・・
「AはBより大きい」という結果しか出ません。
どこが間違っているのか、ご指摘お願いしますっ。

#include<stdio.h>
int main(void)
{
char moji1[61];
char moji2[61];


printf("文字列Aを入力===>"); scanf("%60s" ,&moji1);
printf("文字列Bを入力===>"); scanf("%60s" ,&moji2);

if(moji1-moji2>0){
printf("===AはBより大きい===\n");
}
else if(moji1-moji2<0){
printf("===AはBより小さい===\n");
}
else if(moji1-moji2==0){
printf("===AとBは等しい===\n");
}
return 0;
}
int compare(char *x, char*y)
{
while(*x==*y){
if(*x=='\0')
return 0;
x++;
y++;
}
return (*x-*y);
}

投稿日時 - 2009-05-04 14:58:23

QNo.4930471

すぐに回答ほしいです

質問者が選んだベストアンサー

せっかく書いたcompare関数を
使っていないのはなぜですか?

なお、main関数で比べているのは、
配列の先頭要素のアドレスどうしです。
これらはプログラムの実行中不変です。
入力内容どうしを比べるようになっていません。

投稿日時 - 2009-05-04 15:12:29

お礼

回答していただきありがとうございます!
ご指摘を受けて書き直したところ
ちゃんと動きました^^
有難うございました!!

投稿日時 - 2009-05-04 16:21:56

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問