#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main(void) {
char c1, c2, s[18] = "Kim Lee Park Choi";
int* ptr;
printf("문자열 s = %s ", s);
printf("문자열 시작 위치 = %d ", s);
printf(" ");
for (;;) {
printf("찾을 문자 입력 : ");
scanf("%c", &c1);
ptr = strchr(s, c1);
if (!ptr) printf("문자 '%c'(을)를 찾을 수 없음! ", c1);
else {
printf("문자 %c의 위치 = %d ", c1, ptr);
printf("교체할 문자 입력 : ");
scanf("%c", &c2);
printf("교체할 문자 인덱스 = %d ", ptr - s);
s[ptr - s] = c2;
printf("<결과> ");
printf("문자열 s : %s", s);
break;
}
}
return 0;
}
"Kim Lee Park Choi" 라는 문자열에서 z라는 문자가 없으니까 if문 실행 후 다시 scanf 함수로 문자를 받아야 하는데
왜 이따구로 나오는 걸까요
무슨언어에야
c언어 입니다
어 뭐야 사진이 짤렸네 잠시만요
사진 다시 올렷어요
for말고 while로 조건에 트루 넣고 니가 원하는 종료 조건 if문으로 달어
첫번째 if문 조건 저거 맞지? 트루오면 펄스로 바꿀라고??
for 왜썼는지도 if문을 왜 썼는지도 모르겠다 코드가 ㄹㅇ
수정했는데도 안 돼요
for문 쓴 이유: 사용자가 입력한 문자가 문자열에 없으면 없다고 알려준 뒤 계속 반복하기 위해서 if문 쓴 이유: strchr() 함수는 해당 문자열 안에 문자가 없으면 NULL 값을 출력하기 때문에(찾는 문자가 없다는 뜻이기 때문에)
뭘 원하는 건지 모르겠음
오 해결했음 getchar() 함수 사용해서 해결함
해당 댓글은 삭제되었습니다.
https://gall.dcinside.com/board/view/?id=programming&no=2145900&page=1
여깄습니다 별 거 안 건드렸고 그냥 getchar(); 이거 한 줄 추가했어요