사용자로부터 양의 정수를 하나 입력받아서 그 수만큼 hello world 를 출력하는 프로그램 코드
#include <stdio.h>
int main ()
{
int num;
int i=0;
printf("양의 정수 입력");
scanf("%d", &num);
while(i<num)
{
printf("Hello world!");
i++;
}
return 0;
}
이 코드하구여
프로그램 사용자로부터 계속해서 정수를 입력 받는다. 그 값을 계속 더해 나간다. 이러한 작업은 프로그램 사용자가 0을 입력할 때까지 계속되어야 하며, 0이 입력되면 입력된 모든 정수의 합을 출력하고 프로그램을 종료한다.
#include <stdio.h>
int main ()
{
int total=0;
int num=1;
while(num!=0)
{
printf("정수입력");
scanf("%d", &num);
total+=num;
}
printf("입력된 정수의 총 합 : %d", total);
return 0;
}
에서요
위에문제는 num을 그냥 선언만 해줬는데 아래문제에서는 num을 1로 초기화해줬잖아요??
이것의 기준을 모르겠습니다 ㅜㅜ 어떨 때 초기화 해주고 어떨 때 그냥 선언만 해도되는건가요?
밑에 문제에서 num을 그냥 선언만 해줬는데 오류나네요 궁금합니다ㅠㅠ
구태여 구분할거 없이 항상 초기화하는 습관을 가지면 좋은데 아래껀 왜 꼭 필요하냐면 입력받기전에 값을 사용함
ㄴ 아니근데 scanf쓰면 어짜피 입력받을건데 왜 굳이 초기화하는건가요?? num=0; 으로 초기화해봤자 사용자가 1을 입력하면 값이 1로 다시 저장되는거 아닌가요? 왜 초기화하는거죠?
생각을 해봐라 while문 처음진입하면 num != 0 을 비교해야되는데 쓰레기값이라 비교가 안되잖아.
그런데 num을 0으로 초기화하면 num != 0 거짓되니까 while에 진입을 안할꺼아냐 그러니까 0이 아닌수 아무거나 초기화해도 상관없다. 저기선 1로 초기화한것 뿐이고