p3-16 예제
숫자를 입력하면 그숫자와 아래숫자를 더하는 프로그램.
예를 들어 3이라면, 1,2,3을 더한다.
#include <stdio.h> |
음수를 입력하면, 실행되지 않는다. while문의 조건의 부합하지 못해서이다.
#include <stdio.h> |
#include <stdio.h> |
while의 조건식이 변했다. number <5에서 number<=5로 변했다. 단순히 생각하면된다. number <5일때는 변수 number가 5가 되었을 경우 실행되지 않아 while문밖 프린트문 sum은 그냥 4까지만 더한 10이 출력된다. 그래서 number <=5에 '='만 붙인다면 이것이 해결되어 비로소 15가 출력이된다. 이것을 이해하지 못하고 과정을 눈으로 확인하고 싶다면 다음과 같은 방법이 있다.
* sum = sum + number++;
number가 먼저 sum가 더해지고 sum갑에 대입된다. 그리고 나중에 프린트문에 들어가고 다시 한 번더 실행될때 값이 더해진다. 후치문이다.
이것을 알아보기 쉽게 수정하면 다음과 같다.
sum=sum+number;
number=number+1;
(개쉑 진짜 욕나온다 ㅅㅂ ㅅㅂㅅㅂㅅㅂㅅㅂㅅㅂㅅㅂㅅㅂㅅㅂㅅㅂㅅㅂㅅㅂㅅㅂㅅㅂ!!!!!!! 이따위로 짜다니 헷갈리게!!!!!!)
에러찾아내는법
1. 일일이 프린트문을 넣어서 변수값을 하나하나 확인한다.
2. 통합개발환경에 디버그(이것은 아직 안배움)
visual studio르 이용한 디버깅 방법이다. 나중에 다룬다.
다음은 에러를 일일이 하나하나 찾는 프로그램 소스. 변수값이 어디로 들어가고 출력이 되는지 알 수 있다.
p3-18예제.
1부터 5까지 합인데 원래는 15가 나와야하는데 결과가 이상하다!!! 그래서 다음프로그램을 실행해보고 각각의 변수를 보고 찾아내는 프로그램이다.
#include<stdio.h> |
getch()는 우리가 출력을 하기위해 키보드로부터 아무키나 입력할 때까지 기다리게 하는 역할이다!!
그래서 넘1, 썸1이 출력되고 , 다음 한번더 실행될때 2,3이 나오는 등의 과정을 프린트문으로 확인할 수 있다. 여기서 변수의 값을 확인 할 수 있으며, 4까지만 덧셈이 된다는 사실을 알 수 있다.
그래서 while의 조건변수를 수정해야된다고 인식할 수 있다. 이것이 프린트문을 이용한 첫 번째 방법이다.
p3-19예제
#include <stdio.h> |
{
sum = sum + count;
count = count -1;
}
while (count != 0) {
sum += count--;
printf ("count : %d\tsum : %ld\n", count, sum);
getch (); // <엔터 키>를 쳐서 while 문을 반복시킨다.
}
이거(ㅅㅂ ㅅㅂ ㅅㅂ 또 후치문 골치아픔.........ㅜㅜ)써도되지만,
'C언어 수업정리 > 3월 수업정리' 카테고리의 다른 글
3월18일 비주얼 스투디오 컴파일 순서와 개념 (0) | 2013.03.18 |
---|---|
3월15일 수업정리 for문 (0) | 2013.03.15 |
3월 15일 195페이지 연습문제 (0) | 2013.03.15 |
3월14일 수업정리 구구단의 악몽. (1) | 2013.03.14 |
3월 13일 정리 문자입출력함수 (0) | 2013.03.13 |