আমি নিম্নলিখিত প্রোগ্রাম আছে:
int main(int argc, char *argv[])
{
int a, b;
char c1, c2;
printf("Enter something: ");
scanf("%d",&a); // line 1
printf("Enter other something: ");
scanf("%d", &b); // line 2
printf("Enter a char: ");
scanf("%c",&c1); // line 3
printf("Enter another char: ");
scanf("%c", &c2); // line 4
printf("Done"); // line 5
system("PAUSE");
return 0;
}
আমি যেমন সি বইটিতে পড়েছি, লেখক বলেছেন যে scanf()বাফারে একটি নতুন লাইন চরিত্র রেখে গেছে, সুতরাং, প্রোগ্রামটি ব্যবহারকারীদের ডেটা প্রবেশের জন্য লাইন 4 এ থামায় না, বরং এটি সি 2-তে নতুন লাইন অক্ষর সংরক্ষণ করে এবং তাতে চলে যায় লাইন 5।
এটা কি সঠিক?
তবে, এটি কি কেবল charডেটা টাইপের সাথে ঘটে ? যেহেতু আমি int1, 2, 3 লাইনের মতো তথ্য প্রকারের সাথে এই সমস্যাটি দেখিনি it এটা কি ঠিক?
fflush(stdin)কল করার আগে ব্যবহার করা যেতে পারেscanf()। অনুগ্রহপূর্বক এবং সেই পদ্ধতির বিকল্পগুলির আলোচনার জন্য ব্যবহারfflush(stdin)করে পড়ুন (যা উইন্ডোজে কম বেশি কাজ করে এবং বেশিরভাগ জায়গায় কাজ করে না)।