while문과 do~while문 질문합니다.
다힘
안녕하세요~while문 공부를 하고 있습니다. 문제푸는데 질문이 있어 올립니다 .문제 : 프로그램 사용자로부터 계속해서 정수를 입력받는다. 그리고 계속 더해나간다. 이러한 작업은 프로그램 사용자가 0을 입력할때까지 계속되어야 하며, 0이 입력되면 입력된 모든 정수의 합을 출력하고 프로그램을 종료시킨다.입니다./*여기부턴 제가 입력한 소스입니다.#include stdio.h int main(void)
{
int a=0, c=0;
while(a!=0);
{
printf(정수입력(0 to quit) :);
scanf(%d, &a);
c+=a;
}
printf(총합 : %d \n,c);
return 0;
}*/그런데 이렇게 하면 while문 반복이 안되더라구요 ;; 근데#include stdio.hint main(void)
{
int a=0, c=0;
do
{
printf(정수입력(0 to quit) :);
scanf(%d, &a);
c+=a;
}while(a!=0);
printf(총합 : %d \n,c);
return 0;
이렇게 do~while문을 이용하면 되더라고요 ... 차이점이 뭔지 알수 있을까요 ??
-
바르고
while문에서 while(조건) 엔 ; 세미콜론을 붙이지 않습니다.. do~while문에 붙이시구요
-
김자영
아 .... 그렇군요 해결되었습니다 ㅠㅠ 감사합니다 ㅎㅎㅎ
-
흰양말
그 while(a!=0) 옆에 ; 붙이신건가요?
-
목화
do~while과 while의 차이점은 잘 이해했습니다 감사합니다 ㅎㅎ
-
연하얀
a에 0이아닌 1을 넣어 실행한다면 ctrl+F5했을시에 cmd에 아무것도 안뜨더라구요 ...
-
갤1
더 쉽게 말하면
while문 이전에 변수 a에 값을 입력 받는 구조가
do~while문 이라고 생각하시면 됩니다.. -
라별
그니까 while , do while 문에 변수 a에 둘다 0인데 while은 안되고 do while은 되죠? while은 위에 언급했듯이 특정조건에 무조건 성립 된 후에 실행, do while은 무조건 반복영역 이 한번 실행해주기 때문에 다른거죠, while문에서 가능하게 하려면 a에 0이 아닌 1을 넣어보시면 됩니다
-
다힘
차이점은 while이나 do~while이나 특정조건에 의하여 반복되는 공통점을 제외한 do~while문은 특정조건 확인절차 이전에 무조건 먼저 한번 실행이 됩니다. 반복할 내용이 말이죠. 반면에 while문은 특정조건에 무조건 성립해야 실행이 됩니다.
-
나로
지적감사합니다 ^^ ;;
-
낶아
do
{
}while(a!=0);