###実現したいこと
入力した文字列において一致する文字の数を求める。
###問題点
1つめの実行結果と3つめの実行結果が間違っている。
s[7]
は'\0'
だと思います。それが判定に入らないようにif(s[i]!='\0')
にしましたができませんでした。
実行結果
s : Abcdefg t : tochori s[2] t[2] s[7] t[7] Answer: 2 --------------- s : ABCDE t : aABCDE Answer: 0 --------------- s : Ab43 t : cd13 s[3] t[3] s[4] t[4] Answer: 2
###コード
C
1//文字列の比較2 2 3#include<stdio.h> 4 5int main(void) 6{ 7 char s[21],t[21]; 8 int i=0; 9 int cnt=0; 10 printf("s : "); 11 fgets(s,21,stdin); 12 printf("t : "); 13 fgets(t,21,stdin); 14 while(t[i]!='\0'){ 15 if(s[i]==t[i]){ 16 if(s[i]!='\0'){ 17 printf("s[%d] t[%d]\n",i,i); 18 cnt++; 19 } 20 } 21 i++; 22 } 23 printf("Answer: %d\n",cnt); 24 25 return 0; 26}
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/16 14:26