Calculate a Factorial
แบบฝึกหัดสำหรับผู้เริ่มต้นนี้ฝึก syntax หลักและการแก้ปัญหาผ่าน Calculate a Factorial
Calculate a Factorial คืออะไร?
แบบฝึกหัดสำหรับผู้เริ่มต้นนี้ฝึก syntax หลักและการแก้ปัญหาผ่าน Calculate a Factorial
แก้โจทย์ Calculate a Factorial ด้วย code C และ C++ ที่รันได้
ประเด็นสำคัญ
- เปิด compiler warning และแก้ทุกคำเตือน
- รู้ type และ lifetime ของทุกค่า
- ตรวจ input และขอบเขต array ให้ชัดเจน
ตัวอย่างโค้ด C และ C++
main.c
#include <stdio.h>
int main(void) {
int number = 6; unsigned long long result = 1;
// Multiply each value into the running product.
for (int value = 2; value <= number; ++value) result *= value;
printf("%d! = %llu\n", number, result);
}
6! = 720
C++
main.cpp
#include <iostream>
int main() {
int number = 6; unsigned long long result = 1;
// Multiply each value into the running product.
for (int value = 2; value <= number; ++value) result *= value;
std::cout << number << "! = " << result << '\n';
}
6! = 720
เปรียบเทียบ C และ C++
เปรียบเทียบ implementation ของ C และ C++ จากนั้นเปลี่ยน input และทดสอบ edge case เพิ่มเติม
C
C แสดง API แบบ procedural และรายละเอียด representation อย่างชัดเจน
C++
C++ รักษา low-level model และเพิ่ม type ที่ปลอดภัยกว่า
แบบฝึกหัด
รันทั้งสองเวอร์ชันแล้วแก้ไขเพื่อสังเกตความแตกต่างของภาษา
- เพิ่ม input ผิดและค่าขอบเขต
- Compile ด้วย -Wall -Wextra -Wpedantic
- แยก declaration และ implementation