#include <stdio.h>
int main()
{
char name[4][10]={"Air","Oil","biscuit","Golf"};
char **p;
char (*pt)[10];
int i;p=name;
pt=name;for (i=0;i<4;i++)
{
printf("pt[%d]=%9s(%x)\n",i,pt[i],pt[i]);
}for (i=0;i<4;i++)
{
printf("%s\n",*pt++);
}
}
=========================================================================================
pt[0]= Air(12fcac)
pt[1]= Oil(12fcb6)
pt[2]= biscuit(12fcc0)
pt[3]= Golf(12fcca)
Air
Oil
biscuit
Golf
Press any key to continue
정상적으로 잘 나오네요.
그럼, For 문의 위치를 바꾸고, scanf를 추가하면,,
#include <stdio.h>
int main()
{
char name[4][10]={"Air","Oil","biscuit","Golf"};
char **p;
char (*pt)[10];
int i;
p=name;
pt=name;for (i=0;i<4;i++)
{
printf("pt[%d]=%9s(%x)\n",i,pt,pt);
printf("input > ");
scanf("%s",pt++);
}pt=pt-4;
for (i=0;i<4;i++)
{
printf("pt[%d]=%9s(%x)\n",i,pt[i],pt[i]);
}
}
==============================================================================================
pt[0]= Air(12fcac)
input > Apple
pt[1]= Oil(12fcb6)
input > Orange
pt[2]= biscuit(12fcc0)
input > Banana
pt[3]= Golf(12fcca)
input > Grape
pt[0]= Apple(12fcac)
pt[1]= Orange(12fcb6)
pt[2]= Banana(12fcc0)
pt[3]= Grape(12fcca)
Press any key to continue
다음과 같이, 내용을 입력하여 변경할 수 있게된다.
중요한 것은 scanf 를 사용하면서, pt++ 를 하게 되어, 포이터가 이동하게 되므로,
For 문을 빠져 나온 이후, pt=pt-4를 해서 포인터를 다시 원위치로 이동시킨다.
그러면, 자연스레 출력이 된다.
'Programming > C#' 카테고리의 다른 글
Easy String to DateTime, DateTime to String and Formatting (0) | 2011.11.22 |
---|---|
ToString (0) | 2011.11.15 |
C - 지렁이 & 지뢰 찾기 게임 만들기 (0) | 2009.03.29 |
C - 구구단 파일 입출력 (0) | 2009.03.27 |
Maximum value of each Radix ... ? (0) | 2009.03.25 |
댓글