안녕하세요 ~
자유 게시판에 쓴것처럼 scjp 합격 기념입니다. ㅋ
처음글을 쓸때 말했듯이 이건 초보와 이제 중수분을 위한 글들이니
고수분들은 다 아실수 있으니 다른 글로 이동해 주시길 바라겠습니다.
scanf는 다들 아시다시피 표준입력 문구 입니다.
일단은 문제부터
사용자가 학번 입학년도 이름을 입력하는데
프로그램에서는 학번과 이름만 저장해서 출력하고 입학년도는 출력하지 않을려고 합니다.
이것을 어떻게 표현해야될까요?
입력은
20091234 09학번 홍길동
으로 가정하고
가장쉽게 생각할수 있는 방법은
scnaf("%d%s%s", num, str1, str2); // int num, char str1[100], str2[100]
이런식이겠죠
하지만 쓸모없는 배열을 구지 만들필요가 있을까요?
그냥 예는 이렇게 했지만 실제로 어떤곳에서 응용해야 할지는 잘모르겠내요
어쨋든 입력받은 내용중 원하는 데이터형의 부분만 저장할수 있다는 점에서 유용할것 같다는 느낌인데요
모르시는 분들이 많을 것이라는 생각에 바로 답부터 적을께요
#include <stdio.h>
int main() {
char str[100];
int num;
scanf("%d%*s%s", &num, str);
printf("학번 : %d\n", num);
printf("이름 : %s\n", str);
return 0;
}
scanf("%d%*s%s", &num, str);
여기보면 %*s가 있는데요 이 기능이 무엇이냐면
해당 데이터 형을 저장하지 말고 무시하라는 뜻입니다.
입력을
20091234 09학번 홍길동
이라고 입력하면
num에는 20091234
srt에는 홍길홍이 저장되게 되었습니다.
*은 어떤데이터 형이나 쓸수 있습니다.
%*d, %*s, &*f 다 가능 하다는 것이죠
이해 하셨을 것이라고 생각되고 오늘은 이만 물러가겠습니다.~
이해 안되면 댓글주세요 ~
댓글하나가 저의 큰 힘이 되고 있어요 ㅋㅋ |