- 1 1. Pangkalahatang-ideya ng Function na scanf
- 2 2. Karaniwang Ginagamit na Format Specifiers
- 3 3. Pagproseso ng Maramihang Input nang Sabay-sabay
- 4 4. Pagpapatunay ng Input at Paghawak ng Error
- 5 5. Paglilinis ng Input Stream
- 6 6. Karaniwang mga Pagkakamali at Pinakamainam na Kasanayan
- 7 7. Advanced na Paggamit | Masalimuot na Teknik sa scanf
- 8 Buod
1. Pangkalahatang-ideya ng Function na scanf
Sa pag-aaral ng wikang C, isa sa mga pinaka-ginagamit na paraan para magpasok ng datos sa isang programa ay ang function na scanf. Ito ay kumikilos tulad ng “tagapakinig” ng programa na nag-iimbak ng datos na inilagay ng gumagamit sa mga tinukoy na variable.
Pangunahing Sintaks ng scanf
scanf("formatSpecifier", &variable);
Dito, ang mga pangunahing elemento ay ang “formatSpecifier” at ang ampersand (&) bago ang variable. Ang format specifier ay tumutukoy sa uri ng datos na ipapasok, at ang & ay nagpapahiwatig ng address ng variable na iyon. Sa pagsunod sa patakarang ito, maayos na mapoproseso ng scanf ang input ng gumagamit.
int num;
scanf("%d", &num);
Sa ganitong paraan, nagbibigay ang scanf ng input sa programa at ginagawang magagamit ang datos.
2. Karaniwang Ginagamit na Format Specifiers
%d: para sa mga integer%f: para sa mgafloatna uri ng floating-point na numero%lf: para sa mgadoublena uri ng double-precision floating-point na numero%s: para sa mga string (tinapos ng whitespace)%c: para sa isang solong karakter
double val;
scanf("%lf", &val);
3. Pagproseso ng Maramihang Input nang Sabay-sabay
int age;
float height;
scanf("%d %f", &age, &height);
printf("Age: %d, Height: %.2fn", age, height);
4. Pagpapatunay ng Input at Paghawak ng Error
int age;
printf("Please enter your age (0–120): ");
if (scanf("%d", &age) == 1 && age >= 0 && age <= 120) {
printf("The entered age is %d years.n", age);
} else {
printf("Invalid age.n");
}
5. Paglilinis ng Input Stream
Kapag gumagamit ng scanf, maaaring maramdaman mong “nanatili ang nakaraang input”. Nangyayari ito dahil ang mga newline character (\n) at iba pa ay nananatili sa input stream.
scanf("%*[^n]");
scanf("%*c");
Pinapayagan ka nitong laktawan ang anumang newline o iba pang karakter na natitira sa input buffer. Gayunpaman, sa pagproseso ng mga loop, dapat mong iwasan ang hindi standard na fflush(stdin), at gumamit ng mga pamamaraan tulad ng nasa itaas para sa kaligtasan.
6. Karaniwang mga Pagkakamali at Pinakamainam na Kasanayan
- Pagpapatugma ng format specifier: I-align ang uri ng data at ang specifier
- Pag-iingat sa haba ng string: Kapag nag-iinput gamit ang
%s, isaalang-alang ang laki ng buffer - Paglilinis ng stream: Iwasang iwan ang mga newline character
7. Advanced na Paggamit | Masalimuot na Teknik sa scanf
char name[20];
printf("Please enter your name: ");
scanf("%19s", name); // buffer-safe measure
printf("Hello, %s!n", name);
Buod
Ang function na scanf ay isang pangunahing paraan ng pag-input sa C. Kapag naunawaan mo na ang mga format specifier, pag-check ng error, at paghawak ng input stream, magagamit mo ito nang ligtas. Bigyang-pansin ang mga natitirang input buffer at mga isyu sa buffer overflow.




