電子書籍の厳選無料作品が豊富!

プログラミング初心者です。
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);
}

A 回答 (1件)

せっかく書いたcompare関数を


使っていないのはなぜですか?

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

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

お礼日時:2009/05/04 16:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!