ในส่วนนี้เราจะดูวิธีหาผลรวมของหลักตัวเลขโดยไม่เขียนคำสั่งหลายคำสั่ง กล่าวคือ เราจะหาผลรวมของหลักตัวเลขในคำสั่งเดียว
ตามที่เรารู้ว่า เพื่อหาผลรวมของหลักตัวเลข เราตัดหลักสุดท้ายโดยการหารตัวเลขด้วย 10 แล้วเอาเศษ แล้วหารตัวเลขด้วย 10 อีกครั้งไปเรื่อยๆ จนตัวเลขกลายเป็น 0
เพื่อทำงานเหล่านี้ในคำสั่งเดียว สามารถใช้ลูป for ได้ ตามที่เรารู้ว่ามี 3 ส่วนในลูป for ในขั้นตอนการเริ่มต้น (initialization) เราไม่ทำอะไรในกรณีนี้ ในขั้นตอนตรวจสอบเงื่อนไข (condition checking) เราตรวจสอบว่าตัวเลขมากกว่า 0 หรือไม่ ในขั้นตอนเพิ่ม/ลด (increment/decrement) เราทำหลายงานพร้อมกัน ตรงแรกเราเพิ่มผลรวมโดยเอาหลักสุดท้ายของตัวเลข และลดตัวเลขลงโดยการหารด้วย 10
โค้ดตัวอย่าง
#include <stdio.h>
int main() {
int n, sum = 0;
printf("Enter a number: ");
scanf("%d", &n);
for(; n > 0; sum += n % 10, n /= 10) {
}
printf("The sum of digits: %d", sum);
}
ผลลัพธ์ตัวอย่าง
Enter a number: 457 The sum of digits: 16