
입력 받는 값을 n으로 정한다.
그래놓고는 출력값을 n으로 정했다.
그렇기 때문에 에러가 뜬다.
출력값을 i 로 바꿔주었다.
for문 안에서 정의했던 i 를 맨 처음으로 가져와 선언해준다. ( for 문에서 정의할 경우 for문에서만 사용할 수 있는 변수이다. )
출력값을 i 로 바꾸고 나서 작성했던 코드이다.
#include <stdio.h>
int main() {
int n, i;
scanf("%d", &n);
for (i = 0; i <= n; i++) {
i = i + i;
}
printf("%d", i);
return 0;
}
이렇게 하니까 자꾸 3을 넣으면 출력값이 6이어야 하는데 7이 나왔다.
아마도 i는 계속 증가하는 값인데 i를 계속 i+i 값으로 대입해줘서 그런 것 같다.
그래서 새로운 변수 a를 선언해주고 그 값을 출력했다.
#include <stdio.h>
int main() {
int n, a=0;
scanf("%d", &n);
for (int i = 0; i <= n; i++) {
a = a + i;
}
printf("%d", a);
return 0;
}
1. for문 안 변수 선언은 for문 안에서만 사용한다는 사실을 잊지 말자.
절대 절대 잊지 말자.
'▶ 언어 > 백준' 카테고리의 다른 글
[C언어] 백준 2739번 오답노트 (0) | 2021.05.30 |
---|---|
[C언어] 백준 2884번 오답노트 (0) | 2021.05.30 |
[C언어] 백준 9498번 오답노트 (0) | 2021.05.26 |
[C언어] 백준 10171번 오답노트 (0) | 2021.05.25 |
[C언어] 백준 2588번 오답노트 (0) | 2021.05.25 |