|
#include<stdio.h>
char *ptrc[]={"KOREA","CANADA","UNITED STATES OF AMERICA","FRANCE"};
char **st[]={ptrc+3,ptrc+2,ptrc+1,ptrc};
char ***stt=st;
void main()
{
printf("%s\n",**++stt);
printf("%s\n",*--*++stt+2);
printf("%s\n",*stt[-2]+3);
printf("%s\n",stt[-1][-2]+1);
}
위에꺼 돌려보면
united states of america
rea
nce
orea
이렇게 나오거든요...
여러가지 해봤는데...--;
일단 printf 를 1,2,3,4 로하면...
1번이 빠지면 에러가 뜨고 결과값에 2번답만 나오는거 같은데 캐나다가 나옵니다.
2번이 빠지면 에러가 뜹니다. 1번결과만 나오고요.
3번이 빠지면 에러 않뜨고 1,2,4번 결과가 맞게 나옵니다.
4번 역시 4번만 않나오고 1,2,3번 결과는 맞게 나옵니다.
무슨차이인가요?
그리고 printf 알려주세요...T.T
**++stt
*--*++stt+2
*stt[-2]+3
stt[-1][-2]+1
좀
그리고 1번에서 * 한개가 모자르 에러 2번에서 -- 가 없으면 캐나다가 2자리 빼고 나오고요
3번은[-2] 안에 숫자 바꾸면 안뜨고 +2 하면 공백으로 +1하면 한국이 3자리 빼고 나오고 0 역시
한국이 3자리 빼고나오고 -1 하면 미국이 앞에3자리빼고 나오고 -2는 원래값인 프랑스 3자리 빼고
나오는데... 캐나다는 않나오더군요. 4번은 앞에 [-1]을 -2로 하면 캐나다 1자리뺀수 0,+1 은 에러 +2는 공백 으로 나오는군요. 뒤에 [-2]를 -1은 캐나다 1자리빼고 0은 미국 1자리빼고 +1은 프랑스
1자리뺀수가 나오네요 [-1][-2] 이게 없으면 0*B 가 ??? 나오고 [+1][+2] 로하면 미국이 1자리 뺀수 나오네요...
ㅡㅡ; 이케 하다 보니깐 먼가 생각이 난듯하면서 짜증이 나구 T.T 뒤죽박죽 되서요...
근데 확실히 쓰면서 하니깐 좋긴 좋은것 같네요 ^^
printf에 걸린
**++stt
*--*++stt+2
*stt[-2]+3
stt[-1][-2]+1
이것좀 알려주세요
|