#include <stdio.h>
int count=0;
void main()
{
char data[100];
char *p=&data[0];
int c=0;
printf("문자열 입력:=");
scanf("%s",&*p);
for(int i=0;i<100;i++)
{
if(*(p+i)==NULL)
{
break;
}
count++;
}
for(count;count>0;count--)
{
printf("%s",*(p+count));
}
}
아래 내용 종합 포인터
char *p=&data[0];
scanf("%s",&*p);이렇게 해준이유는 포인터 개념을 잡기 위해서 해준것이고
data해도 상관은 없지만 ,,*p라는 자체가 배열 첫번째 주소를 가리켜 그 배열통채를 사용할수 있게 그러니깐 그 배열 첫번째 주소가 그 배열의 이름이라 이말이지.
scanf("%s",&*p); 문자열이니 %s
for(int i=0;i<100;i++): int i=0 여기서 for문안에서 int i=0이라 선언해 주게 되면 for문 안에서만 동작하고
for문 밖에 나가게 되면 다시 증가된 int i 가 소멸
그래서 전역변수 int count=0으로 줘서 계속 존재 할수 있게 사용
for(count;count>0=;count--) 증가된 count를 역순으로 배열로 출력 해주기 위해 -- 감소 시켜 0이 되기 전까지 조건을 걸어 주고
출력 ...근데 mind를 했는데 dnim 가 왜 안나오지?
내가 말 한거 중에 잘못 생각 한게 있나?
구동해 보면NULL이 나오고 프로그램 중지가 되네;
뭐가 문제인지 살짝만 알려줘봐..그냥 알려주지 말고 생각해 보게
변수 c에 c=count-1을 첫번째 for아래다 해주고 for(c;c>-0;c--)해봤는데 안되네
ㅎㅎ 마지막 출력하기위한 for문은 char형 하나하나 출력하기 위한거지? 그니까 printf에 %s로 하면 안되지~
[일어갤]철수 ))형 근데\"\\0\"이 상관이 없는데 for문안에서 break;로 count가 증가되기 전에 for문 빠져나와서 상관이 없는데
늅늅))와 ㅋㅋㅋㅋ18 ㅋㅋㅋㅋㅋ 맨붕
%c개 지랄를 하고 하나 풀었네 ㅋㅋㅋㅋ 잊고 있었던거 하나씩 생각하게 된 계기가 됐음 감사 감사
모두들 감사 감사
[일어갤]철수...음 문제가 크게 없었는데...내가 생각이 조금 모자란거 같에...뭔가가 ...그냥 깊게 생각을 못해서 ..이거 못짠듯