HELLOWORLD문제를 풀때 왜 쓰레기 값이 생성되지 않는지 궁금해요 이하연 [[problem:HELLOWORLD]] [[연습 문제|problem:HELLOWORLD]] ~~~ c #include int main() { int cases; char name[1024]; scanf("%d", &cases); while(cases--) { scanf("%s", name); printf("Hello, %s!\n", name); } } ~~~ 별도의 초기화가 없다면 반복해서 이름을 입력받을때 scanf로 입력 받은 이전 이름이 다음 이름보다 길면 출력시 이전 이름의 일부가 출력되어야하는 것아닌가요? 궁금합니다 11년 전
1개의 댓글이 있습니다. JongMan C의 문자열을 입력받는 함수들은 문자열을 다 입력받은 뒤 \0 문자를 맨 뒤에다 추가해 줍니다. C가 문자열을 어떻게 다루는지 찾아보시면 이해하실 수 있을 듯.. 11년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
이하연
[[problem:HELLOWORLD]]
[[연습 문제|problem:HELLOWORLD]]
~~~ c
#include
int main() {
int cases;
char name[1024];
scanf("%d", &cases);
while(cases--) {
scanf("%s", name);
printf("Hello, %s!\n", name);
}
}
~~~
별도의 초기화가 없다면 반복해서 이름을 입력받을때
scanf로 입력 받은 이전 이름이 다음 이름보다 길면 출력시 이전 이름의 일부가 출력되어야하는 것아닌가요?
궁금합니다
11년 전