কম্পিউটার

কেন কম্পাইলার সি প্রোগ্রামিং এ পূর্ণসংখ্যার পরে স্ট্রিং পড়ছে না?


সমস্যা

কম্পাইলার সি প্রোগ্রামিং এ পূর্ণসংখ্যার পরে স্ট্রিং পড়ছে না? কিভাবে আমরা এই সমস্যার সমাধান করতে পারি?

সমাধান

আপনি যখন একটি পূর্ণসংখ্যা সংখ্যা লিখুন এবং পরবর্তী মান পড়তে এন্টার টিপুন, তখন কম্পাইলার স্ট্রিংটির প্রথম অক্ষরের মধ্যে নাল সঞ্চয় করে এবং স্ট্রিং ইনপুট বন্ধ হয়ে যায়। কারণ যখনই এটি একটি শূন্য অক্ষর পড়বে তখনই scanf বন্ধ হয়ে যাবে৷

কিভাবে সমাধান করবেন?

আমরা যখন int বা ফ্লোটের পরে স্ট্রিং বা অক্ষর পড়ার চেষ্টা করি, তখন আমাদের একটি অস্থায়ী চর পড়তে হবে যা ইনপুট বাফারে উপস্থিত থাকে।

নিম্নলিখিত ত্রুটি ছাড়া প্রোগ্রাম -

উদাহরণ

#include <stdio.h>
struct student{
   char name[10];
   int roll;
   char temp;
} s;
int main(){
   printf("Enter information of students:\n");
   printf("\nEnter roll number: ");
   scanf("%d", &s.roll);
   scanf("%c",&s.temp); //read temporary character
   printf("\nEnter name: ");
   gets(s.name);
   printf("\nDisplaying Information of students:\n");
   printf("\nRoll number: %d\t", s.roll);
   printf("\nname:%s\t", s.name);
   return 0;
}

আউটপুট

Enter information of students:
Enter roll number: 3
Enter name: tutorialspoint
Displaying Information of students:
Roll number: 29806
name:tutorialspoint

  1. কেন Windows 10 প্রযুক্তিগত পূর্বরূপ আপনার প্রধান ওএস হওয়া উচিত নয়

  2. স্ট্রিং খালি আছে কি না তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  3. BIOS আপডেটের পরে TPM আরম্ভ করা যায়নি

  4. আমি কেন WhatsApp বিজ্ঞপ্তি পাচ্ছি না? আমি কিভাবে সমস্যাটি ঠিক করব?