내가 어쩌다보니 30년전 c언어책을 보고 공부중인데
#include <stdio.h>
#define STOP '*'
main() {
char ch;
ch = getchar();
while((ch = getchar()) != STOP) {
putchar(ch);
}
}
이거 실행은 되는데
abcd같이 문자를 처음에 입력하면 맨 앞 문자가 잘려서 출력됨
근데 그 이후에 다시 문자를 입력하면 안잘리고 잘 출력됨
처음에 왜 잘려서 출력되는거임?
내가 어쩌다보니 30년전 c언어책을 보고 공부중인데
#include <stdio.h>
#define STOP '*'
main() {
char ch;
ch = getchar();
while((ch = getchar()) != STOP) {
putchar(ch);
}
}
이거 실행은 되는데
abcd같이 문자를 처음에 입력하면 맨 앞 문자가 잘려서 출력됨
근데 그 이후에 다시 문자를 입력하면 안잘리고 잘 출력됨
처음에 왜 잘려서 출력되는거임?
ch = getchar(); 여기서 a가 들어갔는데 while에 진입하면서 호출된 getchar()이 b를 ch에 넣으면서 덮어씌워져서 bcd가 출력되는거겠지