c언어 - 문자열 입력받는 코드 작성중인데 질문드립니다.
글쓴이: wsm0315 / 작성시간: 목, 2017/06/15 - 8:31오후
학교에서 문자열과 숫자를 입력받는 프로그램을 작성 중인데,
enter 를 두번 치면 while 문에서 탈출하도록 만들고 싶은데
코드를 어떻게 작성해야하나요???
#include <stdio.h> int main(void) { typedef struct Name { int a; char name[20]; } N; N n[50]; int i = 0, j = 0, k = 0, ch; char input[100]; while (scanf("%s%d", n[i].name, &n[i].a) == 2) { i++; } for (j = 0; j < i; ++j) printf("%s %d\n", n[j].name, n[j].a); return 0; }
제가 생각한 방법은 결국 이정도인데
뭔가 좀 복잡한거 같아서요.
좀 더 간단한 방법 없을까요?
#include <stdio.h> int main(void) { typedef struct Name { int a; char name[20]; } N; N n[50]; int i = 0, j = 0, k = 0, ch; char input[100]; while (scanf("%s%d", n[i].name, &n[i].a) == 2) { i++; while (getchar() != '\n') ; if ((ch = getchar()) == '\n') break; else ungetc(ch, stdin); } for (j = 0; j < i; ++j) printf("%s %d\n", n[j].name, n[j].a); return 0; }
Forums:
댓글 달기