작성
·
211
1
'5.7나머지 연산자'수업의 4:14 부근에 선생님이 짜신 "입력받은 초를 시간, 분, 초로 환산하는 프로그램"은
int main()
{
int seconds = 0, minutes = 0, hours = 0;
printf("Input seconds : ");
scanf("%d", &seconds);
minutes = seconds / 60;
seconds = seconds % 60;
hours = minutes / 60;
minutes = minutes % 60;
printf("%d hours, %d minutes, %d seconds\n", hours, minutes, seconds);
printf("Good bye\n");
return 0;
}
로 되어있었고, 제가 짠 코드는
int main()
{
int seconds = 0, minutes = 0, hours = 0;
printf("Input seconds : ");
scanf("%d", &seconds);
hours = seconds / 3600;
minutes = (seconds - hours * 3600) / 60;
seconds = (seconds - hours * 3600 - minutes * 60);
printf("%d hours, %d minutes, %d seconds\n", hours, minutes, seconds);
printf("Good bye\n");
return 0;
}
로 짰고, 볼드체로 되어있는 부분만 차이가 있었습니다.
그런데 제가 짠 코드는 볼드체 기준, 3문장(';'가 몇개인가를 기준), 선생님이 짜신 코드는 4문장으로 제가 1문장 적었지만, 각각의 문장 자체는 전체적으로 선생님의 문장이 더 짧았습니다. 이럴경우에는 프로그램의 계산속도에 문장이 전체적으로 짧은것이 더 계산속도가 빠른지, 아님 문장수가 적은것이 계산속도가 빠른지 궁금합니다.
답변 1
1
최적화는 경우에 따라 차이가 많이 나기 때문에 쉽게 말씀드릴 수가 없습니다. 컴파일러의 최적화 성능에 따라 차이가 많이 납니다. 초보때는 실제로 속도를 재보는 것이 시작점이 될 수 있겠네요.