আমার এই প্রোগ্রামটির ভুল ধরতে পারছি না। আমি দুটো স্ট্রিং ইনপুট নেই এবং দুটো স্ট্রিংকে আবার জোড়া দিয়ে দেই । এবং দুটো স্ট্রিং এর মোট কতটি সংখ্যা তা ইন্টিজার রুপে প্রকাশ করি । আর এখন সমস্যা টি হলো আর ২য় ইনপুটট টি দুবার দেখায় । আমি বুজথে পাছি না আমার সমস্যা টা কোথায় । আপনাদের বোঝার স্বার্থে আমি স্ক্রিনশট দিলাম ।alt text

#include <stdio.h>

int main() { char a[100],b[100]; char string[100]; int c; printf("Type your first word: "); gets(a); printf("Type your 2nd name: "); gets(b); c=str_concat(a,b); int ntp=str_len(a,b); printf("\n"); printf("String: %s and Len is %d\n",c,ntp);

return 0;

}

int str_concat(char a[100],char b[100]) { int i,j,m=0;

for(i=0;a[i]!='\0';i++)
{
    m++;
}

for(i=m,j=0;b[j]!='\0';i++,j++)
{
    a[i]=b[j];
}

a[i]='\0';

return a;

}

int str_len(char a[100],char b[100]) { int i,j,m=0;

for(i=0;a[i]!='\0';i++)
{
    m++;
}

for(i=m,j=0;b[j]!='\0';i++,j++)
{
    a[i]=b[j];
}

a[i]='\0';

m=0;

for(i=0;a[i]!='\0';i++)
{
    m++;
}

return m;

}

এবং কোডটি হলো link text

asked 01 Mar '16, 08:23

Asaduzzaman%20Sohel's gravatar image

Asaduzzaman Sohel
21213

edited 01 Mar '16, 08:27


asad sohel ইনপুটের জন্য str_concatকল হওয়ার পর a = 'asadsohel\0' এবং b = 'sohel\0' থাকছে।

এরপর যখন str_len ফাংশন কল হচ্ছে তখন আবার a এর সাথে b লাগছে। যার ফলে a = 'asadsohelsohel\0' এবং b = 'sohel\0' হচ্ছে এবং আপনি a এর পয়েন্টার থেকে প্রিন্ট দিচ্ছেন।

আপনি যে কাজগুলো ম্যানুয়েলি করছেন, তার জন্য লাইব্রেরি ফাংশন আছে, string.h, ওটা দেখে নিতে পারেন।

আর এসব ভুল নিজে চেষ্টা করে ডিবাগ করা শিখা উচিত। নিজের কোথায় কোথায় ভুল হয় নোট করে রাখলে দেখবেন পরে আর ভুল হচ্ছে না।

ধন্যবাদ।

#include <stdio.h>
int main()
{
    char a[100],b[100];
    char string[100];
    int c;
    printf("Type your first word: ");
    gets(a);
    printf("Type your 2nd name: ");
    gets(b);
    c=str_concat(a,b);
    int ntp=str_len(a,b);
    printf("\n");
    printf("String: %s and Len is %d\n",c,ntp);


    return 0;
}

int str_concat(char a[100],char b[100])
{
    int i,j,m=0;

    for(i=0;a[i]!='\0';i++)
    {
        m++;
    }

    for(i=m,j=0;b[j]!='\0';i++,j++)
    {
        a[i]=b[j];
    }

    a[i]='\0';

    return a;
}

int str_len(char a[100],char b[100])
{
    int i,j,m=0;

    for(i=0;a[i]!='\0';i++)
    {
        m++;
    }

    return m;
}
permanent link

answered 01 Mar '16, 08:41

manetsus's gravatar image

manetsus
2.2k211

edited 01 Mar '16, 08:49

ভাইয়া আপনার উত্তরের জন্য অসংখ্য ধন্যবাদ । আপনার কাছে আমার প্রশ্ন হলো ডিবাগ কিভাবে শেখে?

(01 Mar '16, 14:52) Asaduzzaman Sohel

কোডের কোথায় কি হচ্ছে সেটা আপনি নিজে নিজে বের করুন।

(01 Mar '16, 18:57) sshuvo

ভাইয়া you tube search দিন।আসা করি পেয়ে যাবেন।

(07 Mar '16, 01:07) Zahirul_Islam_Monir
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:

×402
×214
×70
×56

question asked: 01 Mar '16, 08:23

question was seen: 957 times

last updated: 07 Mar '16, 01:07