프로그래밍 언어/C언어
[실전C프로그래밍] 10장 문자열_4
선잠
2023. 1. 18. 21:55
실전 C프로그래밍(나중채 외) 교재를 바탕으로 학습하고, 해결한 실습문제의 답을 기록합니다.
(정답이 아니기에 오류 지적이나 피드백을 환영함)
저작권으로 인해 자세한 문제는 생략합니다.
Q. 공백을 포함하지 않는 문자열 2개를 받아서 일치하는지 검사하고, 첫 번째 문자열의 길이와 일치 여부 출력
(strlen과 strcmp 사용X, 두 문자열 길이는 각각 최대 100, 일치 시 1/ 불일치 시 0 출력)
#include <stdio.h>
int main() {
char A[101], B[101];
int lenA = 0, lenB = 0, i, j;
scanf("%s", A);
scanf("%s", B);
while (A[lenA]) lenA++;
while (B[lenB]) lenB++;
printf("%d ", lenA);
for (i = 0, j = 0; i < lenA || j < lenB; i++, j++) {
if (A[i] != B[j]) {
printf("0\n");
break;
}
else {
printf("1\n");
break;
}
}
return 0;
}
또는
#include <stdio.h>
int main() {
char A[101], B[101];
int lenA = 0, lenB = 0, i, j;
scanf("%s", A);
scanf("%s", B);
while (A[lenA]) lenA++;
while (B[lenB]) lenB++;
while (i < lenA || i < lenB) {
if (A[i] != B[i]) {
flag = 0;
break;
}
i++;
}
if (flag)
printf("%d 1\n", lenA);
else
printf("%d 0\n", lenA);
return 0;
}