#include <stdio.h>
int count=0;
void main()
{
char data[100];
char *p=&data[0];
int c=0;
printf("문자열 입력:=");
scanf("%c",&*p);
for(int i=0;i<100;i++)
{
if(*(p+i)==NULL)
{
break;
}
count++;
}
for(count;count>=0;count--)
{
printf("%c",*(p+count));
}
}
뭐가 문제인지...
혼돈이야...학부생 2학년인데 문자열을 역순으로 출력도 못함 ㅠ
문자열 받는다면서 왜자꾸 scanf에서 %c로 받음? %s로 받아야제
근데 for문 i가 for문을 빠져나오면 다시 초기 선언되로 0이된다고?;;;메모리에 증가 상태로 존재 하지 않나?;;아 혼돈..다시 책보고 for문부터 해야되네
%s로 받아도....값이 제대로 안나오네 NULL하면서 값이 뜨네..
for문 을 빠져나오면 i가 초기화 되면 count도 for문을 빠져나오면 , for문 안에서만 증가 됐지 밖에서는 도로 0되는거 아냐?
아니 배열로 하면 쉽게 할수 있는데 포인터를 공부하고 융합해서 코딩해 볼려고 했지...전역변수도 그래서 쓴거고...
i는 for문 안에서만 존재하며 for 문 안으로 들어오면서 선언 및 0으로 초기화 되는 넘임. 그래서 저장 안돼
포인터로는 불가능한가? 애초에 포인터 공부하는게 문자열 배열때문에 포인터 공부 하는걸로 알고 있는데...아 개념이 섞인거 같에 책은 보고 보고 계속 봤는데 이론재 정립이 안된듯...
for( int i=0 ;i<100;i++) 의 int 와 for(count;count>=0;count--)의 count에 int가 없는 차이
[일어갤]철수형.. for문에서 변수 i를 증가 해줬는데 for문을 빠져나오면 다시 0이 된다고 누가 아래서 말한거 같은데...메모리에 증가 상태로 존재 하지 않나? 그러면 전역변수 count도 for문을 빠져나오면 도로 0이 되는거 아님?
scanf(\"%s\",&*p); 내가 해보니까 이렇게 해도 잘되는데..
병신]]위에 전역변수 int count 선언 해줬잖아 좀 보고 말해라
for문 안에서 int 선언한거랑 달라 -_-
와 대박...모든 공부한 내용을...배열 문자열 따위에 집약시켜서 해볼려니깐....붕괴네
for문안에서 선언안 i는 for문 안에서만 존재해 형말대로 할라믄 int i; for(i=0; i<10 i++) 이런식으로해야것지
for 문 안에서 int 선언한 넘은 for문 밖으로 나가면 사라져 버리는 지역변수 int count는 밖에서 했으니깐 그냥 남아있다고 0으로 변하긴 무슨;;
[일어갤]철수...철수형 그래서 전역변수 count를 썼음
[일어갤]철수...그럼 여기서 코딩 문제는 뭐지?;;
문제는 출력해 줄때..count를 잘못 쓴거 같은데..역순으로 출력해 줄려고 한건데 말야
물논 그렇게 할 필요는 없는데 글쓴이 횽은 포인터 개념 잡을라고 일부러 저렇게 한 것 같네
늅늅]맞어...속시원 답 고마워..포인터 개념 잡고 ..문제를 풀려고 이렇게 한건데..잘 안되네 ㅠ
근데 문제 없는거 같은데 scanf %s로 받는거 말고 긁어서 해보니까 잘됨