ปัญหา
ลองพิมพ์ชื่อ 10 ครั้งโดยไม่ใช้คำสั่งวนซ้ำหรือ goto ใด ๆ ในภาษาการเขียนโปรแกรม C
วิธีแก้ปัญหา
โดยทั่วไป คำสั่งวนซ้ำจะใช้เพื่อทำซ้ำบล็อกของโค้ดจนกว่าเงื่อนไขจะเป็นเท็จ
ตัวอย่าง1
ในโปรแกรมนี้ เรากำลังพยายามพิมพ์ชื่อ 10 ครั้งโดยไม่ต้องใช้คำสั่งวนซ้ำหรือ goto
#include <stdio.h>
void printname(char* name,int count){
printf("%03d : %s\n",count+1,name);
count+=1;
if(count<10)
printname(name,count);
}
int main(){
char name[50];
printf("\nEnter you name :");
scanf("%s",name);
printname(name,0);
return 0;
} ผลลัพธ์
Enter you name :tutorialspoint 001 : tutorialspoint 002 : tutorialspoint 003 : tutorialspoint 004 : tutorialspoint 005 : tutorialspoint 006 : tutorialspoint 007 : tutorialspoint 008 : tutorialspoint 009 : tutorialspoint 010 : tutorialspoint
ตัวอย่างที่ 2
ด้านล่างนี้เป็นโปรแกรมพิมพ์ชื่อของคุณ 10 ครั้งโดยใช้คำสั่งวนซ้ำหรือ goto -
#include <stdio.h>
int main(){
char name[50],i;
printf("\nEnter you name :");
scanf("%s",name);
for(i=0;i<10;i++){
printf("%s\n",name);
}
return 0;
} ผลลัพธ์
Enter you name :TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint