#include<stdio.h>
#include<string.h>

int main()
{
    int n;
    scanf("%d\n",&n);
    int i,x=0;
    char p[150];

    for (i=0; i<n; i++)
    {
        gets(p);
        if (p[0]=='+' && p[1]=='+'|| p[1]=='+'&& p[2]=='+')
            x++;
        if (p[0]=='-' && p[1]=='-'|| p[1]=='-'&& p[2]=='-')
            x--;
    }

    printf("%d",x);
}

scanf("%d",&n) দিলে কাজ করছে না, কিন্তু scanf("%d\n",&n) দিলে কাজ করার কারণ কী?

asked 20 May, 23:25

Aryan_robin's gravatar image

Aryan_robin
112

edited 21 May, 08:53

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
63118


সি তে ইন্টিজার এর পর ক্যারেক্টার ইনপুট নিলে ক্যারেক্টার এর আগে একটা getchar ইনপুট নিতে হয় ।

 scanf("%d",&n);
 getchar();

এই ভাবে নেন কাজ করবে । এই getchar নেওয়ার কারণ হল - যখন আপনি ইন্টিজার টি ইনপুট দিয়ে ইন্টার বাটনে প্রেস করছেন তখন এই "ইন্টার" টিও একটা নিউ লাইন ক্যারেক্টার অর্থাৎ ' \n' হিসেবে ইনপুট হচ্ছে । তাই পরের ক্যারেক্টার গুলো ঠিক মত ইনপুট হতে পারে না । তাই ইন্টিজার ইনপুট এর পর "ইন্টার" এর জন্য এই getchar ব্যবহার করতে হয় ।

ধন্যবাদ হ্যাপি কোডিং ।

permanent link

answered 31 Jul, 17:58

Return_Zero's gravatar image

Return_Zero
2076

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×401

question asked: 20 May, 23:25

question was seen: 224 times

last updated: 31 Jul, 17:58