4. ฟังก์ชัน scanf()
4. ฟังก์ชัน scanf()
ฟังก์ชัน scanf() เป็นฟังก์ชันจากคลัง ใช้ในการรับข้อมูลจากแป้นพิมพ์ โดยจะบอกเลขที่อยู่ของตัวแปรในหน่วยความจำ แล้วจึงนำค่าที่รับมาไปเก็บไว้ตามที่อยู่นั้น
scanf("%รูปแบบ", &ตัวแปร);
โดยที่ &ตัวแปร หมายถึง เลขที่อยู่ (address) ของตัวแปรที่จะรับค่ามาเก็บในหน่วยความจำ
การรับข้อมูลโดยใช้ scanf()
ตัวอย่าง 4.1
scanf ("%d", &age);
รับข้อมูลชนิด int จากแป้นพิมพ์ แล้วนำไปเก็บไว้ในตัวแปร age ซึ่งมีเลขที่อยู่คือ &age
//โปรแกรมรับค่า age ทางคีย์บอร์ด
#include <stdio.h>
int main(void)
{
int age; //ประกาศตัวแปร ชนิด int (ตัวเลข) ชื่อ age
printf("กรอกอายุ : "); //คำสั่งแสดงผลข้อมูล
scanf("%d",&age); //คำสั่งรับค่าทางคีย์บอร์ด
printf("คุณมีอายุ %d ปี",age); //คำสั่งแสดงผลข้อมูล
}
ตัวอย่าง 4.2
scanf ("%f", &GPA);
รับข้อมูลชนิด float จากแป้นพิมพ์ แล้วนำไปเก็บไว้ในตัวแปร GPA ซึ่งมีเลขที่อยู่คือ &GPA
//โปรแกรมรับค่า GPA ทางคีย์บอร์ด
#include <stdio.h>
int main(void)
{
float GPA; //ประกาศตัวแปรชนิด float (ตัวเลขทศนิยม) ชื่อ GPA
printf("กรอกค่า GPA : "); //คำสั่งแสดงผลข้อมูล
scanf("%f",&GPA); //คำสั่งรับค่าทางคีย์บอร์ด
printf("เกรดเฉลี่ย = %.2f",GPA); //คำสั่งแสดงผลข้อมูล ทศนิยม 2 ตำแหน่ง
}
ตัวอย่าง 4.3
scanf (" %c", &nickname);
//เว้นวรรคให้มีช่องว่างหน้า % 1 วรรค
รับข้อมูลชนิด char จากแป้นพิมพ์ แล้วนำไปเก็บไว้ในตัวแปร nickname ซึ่งมีเลขที่อยู่คือ &nickname
//โปรแกรมรับค่า nickname 1 ตัวอักษรทางคีย์บอร์ด
#include <stdio.h>
int main(void)
{
char nickname = 'T'; //ประกาศตัวแปรชนิด char(ตัวอักษร 1 ตัว) ชื่อ nickname
printf("ระบุชื่อเล่น 1 ตัวอักษร : "); //คำสั่งแสดงผลข้อมูล
scanf(" %c",&nickname); //คำสั่งรับค่าทางคีย์บอร์ด
printf("ชื่อเล่น คือ %c",nickname); //คำสั่งแสดงผลข้อมูล
}
ตัวอย่าง 4.4
scanf ("%s", surname); //การใช้ %s ไม่ต้องใส่ & หน้าตัวแปร
รับข้อมูลชนิด char จากแป้นพิมพ์ แล้วนำไปเก็บไว้ในตัวแปร surname ซึ่งมีเลขที่อยู่คือ surname
//โปรแกรมรับค่า nickname 1 ตัวอักษรทางคีย์บอร์ด
#include <stdio.h>
int main(void)
{
char nickname[30]; //ประกาศตัวแปรชนิด char แบบเก็บหลายตัวอักษร ชื่อ surname
printf("กรอกชื่อของคุณ : "); //คำสั่งแสดงผลข้อมูล
scanf("%s",surname); //คำสั่งรับค่าทางคีย์บอร์ด
printf("ชื่อของคุณ คือ %s",surname); //คำสั่งแสดงผลข้อมูล
}
ตัวอย่าง 4.3
scanf ("%d%f%d",&no, &amount, &unit);
รับข้อมูล 3 ค่า ชนิด int, float และ int จากแป้นพิมพ์ แล้วนำไปเก็บไว้ในตัวแปร no, amount และ unit ซึ่งมีเลขที่อยู่ตามที่กำหนดไว้ตามลำดับ
//โปรแกรมรับค่า no, amount, unit ทางคีย์บอร์ด
#include <stdio.h>
int main(void)
{
int no,unit; //ประกาศตัวแปร
float amount; //ประกาศตัวแปร
scanf("%d%f%d",&no, &amount, &unit); //คำสั่งรับค่าทางคีย์บอร์ด 3 ตัวแปร
printf("Data = %d %.2f %d",no,amount,unit); //คำสั่งแสดงผลข้อมูล
return 0;
}
จัดทำโดย นางสาวทิพย์สุคนธ์ พันธ์กิ่ง กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี
โรงเรียนบุญวัฒนา สำนักงานเขตพื้นที่การศึกษามัธยมศึกษานครราชสีมา