문제 - 포인터를 사용하여 문자열을 반대로하려면 반전 문자열을 인쇄하는 대신 내 코드 을 사용하고 문자열의 첫 번째 문자를 인쇄하고 있습니다.포인터를 사용하는 문자열 반전
#include<stdio.h>
int main()
{
int i;
char n[100];
char *ptr;
ptr = n;
char a[100];
char *sptr;
sptr = a;
scanf("%s", n);
for(i=0;n[i]!=0;i++)//Calculating the size of the string
for(;(*sptr=*(ptr+i))!='\0';sptr++,ptr--)
{
;
}
printf("%s",a);
return 0;
}
이 사이트의 "[c] string reversal"은 * 상당 * 횟수의 조회수를 나타냅니다. 그리고 for 중첩 된 for 루프가 필요하지 않으므로 알고리즘을 다시 생각해보십시오. – WhozCraig
당신은 중첩 된 루프를 가지고 있습니다. 즉, 내부적으로 'for' 루프는 반전을 수행하기위한 것으로, 문자열 길이를 계산하는 루프 내에 중첩되어 있습니다. 이것은 의도적입니까? –
정말로 프로그램을 얻지 못했습니다. – eLemEnt