#include<stdio.h>
int main(void)
{
int a=2;
int b;
while(a<10)
{
b=1;
printf("%d단 출력\n",a);
while(b<10)
{
printf("%d x %d = %d\n",a,b,(a*b));
b++;
}
printf("\n");
a++;
}
return 0;
}
이게 구구단을 만드는 코드인데
b=1; 이 부분을 처음 변수 선언할 때 int b=1; 이렇게 하면 전혀다른 결과가 나오던데 설명좀해주시면안될까요
while문 안에서 b=1 이라고 값을 대입하니까 b가 1로 변하는데 바깥에서만 해놓아서
b가 1로 되지 못해서 그렇습니다.
자추
b가 1이 왜 안되는건지 설명좀 더 해주세요 ㅠㅠ
while문 안에서 빙빙 돌면서 작성자 님은 b가 다시 1로 돌아올 수 있는 명령문을 제공하지 않아서 그렇습니다.
하지만 b=1;을 바깥 while문 안에 써놓았을 때는 그 명령을 만나면 b는 1이 됩니다.
C언어에서 변수 값을 변경시키면 변한 그대로 가만히 있습니다.
아 그래서 2단만 출력됬던거구나 이해됬습니다 감사합니다
이런 글은 답변 존나 잘달리네 ㅅㅂ