[완료] C++ 좀 봐주세요...^^

sinwho의 이미지

만약 이런 문장이 있다고 했을때 아래 프로그램이 어떻게 실행되나요??

Arsize=10이라고 치고요

for(i=0;i {
1 cout << i+1 << ": ";
2 cin.get(temp, 80);
3 while(cin && cin.get() !='\n')
4 {cout << "contunue" << endl;
5 contune;}
6 if(!cin || temp[0] == '\0')
7 {cout << "temp" << temp << endl;
8 break;}
9 else
0 {cout << "else" < a sayings[i] = temp;}
}

숫자와 a는 임의로 붙인거고요
cout은 어떤 현상이 일어나는지 볼려고 넣은 겁니다.

1에서 1: 가 출력될꺼고
2에서 temp에 80자 길이의 문자를 입력받을 것이고
3에서 입력이 제대로 됐고 입력큐에 남아있는 값이 엔터가 아닐경우 while(4,5)문이 실행될거고 (맞나요?)
6에서 입력이 올바르지 않거나 temp[0]이 널문자 그러니깐 아무것도 입력이 없을시 7,8번이 실행되고
0번에서 else를 출력하고 마지막으로 a에서 sayings[i]에 temp값을 대입 시키잖아요

근데 여기서 3번의 while문이 없을시 2번에서 입력받고 남은 엔터가 계속 남아 다음번 루프때 6번 값이
참이 되어서 프로그램이 종료가 되잖아요

근데 3번 while문이 있을때도 continue라는 글자가 한번도 출력이 안된걸 보면 while문 안으로 한번도 안들어간다는건데
(while문 안의 continue를 없애도 프로그램에 아무런 문제가 없네요)
왜 while문이 없을 경우 제대로 실행이 되지 않나요?

감사합니다.^-^

snowall의 이미지

code 태그로 감싸주세요

아래 "입력형식" 부분을 참고해 주세요

피할 수 있을때 즐겨라! http://melotopia.net/b

sinwho의 이미지

감사합니다..^-^

amorette의 이미지

code 태그로 감싸주세요

아래 "입력형식" 부분을 참고해 주세요

수정하시지 않았기 때문에 코드가 잘려나가서 아무도 도와주지 못하겠네요.

익명 사용자의 이미지

cin이나 cin.get은 공백 전까지 읽고 버퍼에 공백문자를 남겨놓습니다.
while(cin && cin.get()!='\n')에 조건이 맞지않아 while문을 실행하진 않지만
호출하셨으므로 cin.get()에서 버퍼의 개행문자를 먹어치웁니다. 그러므로 그 이하코드가 정상적으로 작동하는것이고요.
아마 중간에 스페이스나 탭으로 공백을 여러개를 넣어보세요. 이해될 겁니다.

sinwho의 이미지

많은거 배워갑니다 감사합니다^^

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.