লগইন করুন
আমাদের ওয়েবসাইটের সকল সুবিধা পেতে লগইন করুন
অথবা
আপনার পছন্দের থিম বেছে নিন।

C প্রোগ্রামিং ভাষায় ব্যবহারকারীর কাছ থেকে ইনপুট নেওয়ার জন্য বহুল ব্যবহৃত ফাংশন হল scanf()। এটি স্ট্যান্ডার্ড ইনপুট স্ট্রিম (stdin) থেকে ডেটা পড়ে এবং সেগুলোকে ফরম্যাট অনুযায়ী ভেরিয়েবলে সংরক্ষণ করে।
scanf("format string", &variable1, &variable2, ...);
format string: এটি ইনপুট ডেটার ধরণ এবং বিন্যাস নির্দিষ্ট করে। যেমন: %d (পূর্ণসংখ্যা), %f (ফ্লোটিং-পয়েন্ট সংখ্যা), %c (ক্যারেক্টার), %s (স্ট্রিং)।&variable1, &variable2, ...: এগুলো হল ভেরিয়েবলের ঠিকানা যেখানে ইনপুট ডেটা সংরক্ষণ করা হবে। ভেরিয়েবলের নামের আগে & (অ্যামপারসেন্ট) চিহ্নটি ব্যবহার করা হয়।| ডেটা টাইপ | ফরম্যাট স্পেসিফায়ার | উদাহরণ |
|---|---|---|
int (পূর্ণসংখ্যা) |
%d |
scanf("%d", &age); |
float (ফ্লোটিং-পয়েন্ট সংখ্যা) |
%f |
scanf("%f", &price); |
double (ডাবল ফ্লোটিং-পয়েন্ট সংখ্যা) |
%lf |
scanf("%lf", &salary); |
char (ক্যারেক্টার) |
%c |
scanf(" %c", &initial); ( space is important to avoid newline character) |
char[] (স্ট্রিং) |
%s |
scanf("%s", name); |
#include <stdio.h>
int main() {
int age;
float height;
char name[50];
printf("আপনার বয়স লিখুন: ");
scanf("%d", &age);
printf("আপনার উচ্চতা (মিটারে) লিখুন: ");
scanf("%f", &height);
printf("আপনার নাম লিখুন: ");
scanf("%s", name);
printf("আপনার বয়স: %d বছর\n", age);
printf("আপনার উচ্চতা: %.2f মিটার\n", height);
printf("আপনার নাম: %s\n", name);
return 0;
}
scanf() স্পেস (space), ট্যাব (tab) অথবা নিউলাইন (newline) ক্যারেক্টার পেলে ইনপুট নেওয়া বন্ধ করে দেয়। scanf() বাফার ওভারফ্লো (buffer overflow) এর কারণে নিরাপত্তা ঝুঁকি তৈরি করতে পারে। স্ট্রিং ইনপুটের ক্ষেত্রে, ভেরিয়েবলের আকার নির্দিষ্ট করে দেওয়া উচিত। scanf() এর রিটার্ন ভ্যালু পরীক্ষা করা উচিত।scanf() এর কিছু বিকল্প ফাংশন হল:
fgets(): এটি একটি লাইন সম্পূর্ণ পড়ার জন্য ব্যবহার করা হয়।sscanf(): এটি একটি স্ট্রিং থেকে ফরম্যাটেড ডেটা পড়ার জন্য ব্যবহার করা হয়।getchar(): এটি একটি ক্যারেক্টার পড়ার জন্য ব্যবহার করা হয়।আশা করি এই আলোচনা scanf() ফাংশন সম্পর্কে আপনার ধারণা স্পষ্ট করতে সাহায্য করবে। 📚💡
আরও জানতে C প্রোগ্রামিং এর ডকুমেন্টেশন দেখুন। 💻
```