ここから本文です

c言語についてです。 2つの文字列st1とst2 をキーボードから入力し、各文字列が...

アバター

ID非公開さん

2019/7/1213:51:08

c言語についてです。
2つの文字列st1とst2 をキーボードから入力し、各文字列が一致しているかを判定するプログラムの作り方を教えて下さい。

※各文字列に入力する文字数はそれぞれ終端文字も含めて高々10文字とすること

補足strcmpは使わない方法はありますか?

閲覧数:
37
回答数:
3

違反報告

ベストアンサーに選ばれた回答

nuo********さん

2019/7/1214:09:41

#include <stdio.h>
#include <string.h>

#define BUF_SIZE 10

void main(void)
{
char Str1[BUF_SIZE];
char Str2[BUF_SIZE];

printf("1個目の文字列 → ");
scanf("%s", Str1);

printf("2個目の文字列 → ");
scanf("%s", Str2);

if(strcmp(Str1, Str2) == 0) {
printf("同じ\n");
}
else {
printf("違う\n");
}
}

  • nuo********さん

    2019/7/1218:18:45

    #include <stdio.h>
    #include <string.h>

    #define BUF_SIZE 10
    #define TRUE 1
    #define FALSE 0

    void main(void)
    {
    char Str1[BUF_SIZE];
    char Str2[BUF_SIZE];
    int Ct;
    int DifferentFlag;

    // 文字列の入力
    printf("1個目の文字列 → ");
    scanf("%s", Str1);

    printf("2個目の文字列 → ");
    scanf("%s", Str2);

    // カウンタとフラグを初期化
    Ct = 0;
    DifferentFlag = FALSE;

    /* 配列の先頭から1文字ずつ調べて、
    異なっていればフラグを立てる */
    do {
    if(Str1[Ct] != Str2[Ct]) {
    DifferentFlag = TRUE;
    break;
    }
    else {
    // 同じ文字ならば、カウンタを進める
    Ct ++;
    }
    } while(Str1[Ct] != '\0' || Str2[Ct] != '\0');

    // 結果の表示
    if(DifferentFlag) {
    printf("違う\n");
    }
    else {
    printf("同じ\n");
    }
    }

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

ikt********さん

2019/7/1219:29:35

> strcmpは使わない方法はありますか?

strcmp 相当の動作をする関数を、自作する。


strcmp 実装
の2ワードでネット検索するだけでも、実装例は
多数見つかる。

プロフィール画像

カテゴリマスター

yah********さん

2019/7/1214:06:49

main(){
char st1[10],st2[10];

printf("st1:"); scanf("%s",st1);
printf("st2:"); scanf("%s",st2);

if(strcmp(st1,st2)==0) printf("exact ");
else printf("un");
printf("match.");
}

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる