• โปรแกรมโดยทั่วไปต้องมีการรับค่าข้อมูลจากผู้ใช้โปรแกรม เพื่อนำมาหาผลลัพธ์ตามกระบวนการทำงานของโปรแกรม หรือตามความต้องการของผู้ใช้งาน
• คำสั่งที่ใช้สำหรับการรับค่าในภาษาซีมีหลายคำสั่ง แต่ที่สามารถใช้งานได้ครอบคลุมและนิยมใช้กัน คือ คำสั่ง scanf
scanf (format-string, address-list);
format-string คล้ายในคำสั่ง printf แต่จะมีเฉพาะส่วนแสดงชนิดข้อมูล และอยู่ในเครื่องหมาย " "
address-list คือ ตำแหน่งของตัวแปรที่ต้องการเก็บข้อมูลไว้ (การใช้งานตำแหน่งของตัวแปรจะใช้เครื่องหมาย & นำหน้าชื่อตัวแปร ยกเว้นตัวแปรชนิดข้อความ)
หมายเหตุ คำสั่ง scanf ต้องเรียกใช้ Preprocessor Directive #include<stdio.h>
#include<stdio.h>
#include<conio.h>
int main()
{
float point;
char name[20];
printf ("Enter your name : ");
scanf ("%s",name);
printf ("Enter your point : ");
scanf ("%f",&point);
print ("Name is %s And Point is %f",name,point);
getch();
}
การใช้คำสั่ง scanf รับข้อความที่มีการเว้น (spacebar)
• คำสั่ง scanf ไม่สามารถใช้รับข้อความที่มีการเว้นเพื่อเก็บในตัวแปรข้อความตัวเดียวได้ (เมื่อใช้ %s)
• เราสามารถใช้คำสั่ง scanf เพื่อให้รับข้อความที่มีการเว้นไปเก็บในตัวแปรชนิดข้อความได้ดังนี้
scanf ("%[^\n]", string);
#include<stdio.h>
int main()
{
char name[40];
float gpa;
printf ("Enter your name : ");
scanf ("%[^\n]",name);
printf ("Enter your GPA : ");
scanf ("%f",&gpa);
printf ("Name : %s\n",name);
printf ("Gpa : %f",gpa);
return 0;
}