#include <stdio.h>
#include <string.h>
void center(int i);
void main()
{
char s[80];
printf("입력 스트링: ");
gets(s);
center(strlen(s));
printf(s);
printf("\n");
}
void center(int i)
{
i=(80-i)/2;
while(i>0)
{
printf(" ");
i--;
}
}
위에 있는 소스를 내 나름대로 포인터를 공부 했으니 한번 짜봤는데....뭐가 잘못 된거지?;;
#include <stdio.h>
#include <string.h>
void center(int *i);
void main()
{
char s[80];
char *p=&s[0];
printf("입력 스트링: ");
scanf("%s",&(*p));
center(strlen(*p));
printf(*p);
printf("\n");
}
void center(int *i)
{
*i=(80-(*i))/2;
while(*i>0)
{
printf(" ");
*i--;
}
}
뭐가 잘못 된거지?;
포인터 부분에서 뭘 다시 봐야될까? 문법적으로 틀린건 없는거 같은데..
strlen(p)가 맞지않나???
에이시아 strlen(p)이게 맞는게 아닌거 같은데...포인터를 해줬으니 *p로 해주는게 맞지 않어?
내가 배운 개념으로 문제를 풀어봤는데 틀린건 없는거 같은데..
포인터의 주소 값을 넘겨주니까 p가 맞지 *p는 포인터가 가리키는 값이고.
그냥 숫자를 넘겨줬는데, 왜 센터 아규먼트가 포인트냐?
포인트를 아무데나 가져다붙였어 정신차려