그 strrchr 함수가
#include <stdio.h>
int main()
{
char s1[30]="A Garden Diary apple";
char *ptr=strrchr(s1,'a');
printf("%s ",ptr);
}
이거 처럼 오른쪽에서 부터 찾아서 출력하는 거잖아?
근데 이거를 반복문 사용해서 출력하려는데
예를 들어서 a를 찾는다고 하면 apple, ary apple, arden Diary apple 이런 식으로 출력 되도록 하려고 하거든?
근데 strchr이랑 달라서 헷갈리네....
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char s1[30]="A Garden Diary apple";
int i;
char *ptr=strrchr(s1,'a');
while(1)
{
printf("%s ",ptr);
i=strlen(ptr);
ptr=strrchr(ptr ,'a');
if(i==strlen(s1))
break;
}
}
이렇게 만들었는데 계속 apple만 출력 되는데 왜 이렇는 거야?
c언어어렵노
ptr의 첫번째 값이 apple인데 출력을 while함수에 걸어놓고 출력 ptr이 끝나는지점에 영향을 주는게 아무것도 없으니까 그것만계속 반복되는거져 배열하나만들고 첫번째공간부터 ptr 쌓고 길이구한다음 배열크기정하고 마지막에 출력하면될거같은데요 strrchr 이런함수 익히기전에 기본적인 반복문 포 와일 이런거돌아가는걸 정확히모르시는거같은데 기본부터하셈
아니면 while()값을 제한두세요 1로하는거 굉장히 위험한거에요