Strings In C: C Tutorial In Hindi #34

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

ความคิดเห็น • 721

  • @adityadoijad8091
    @adityadoijad8091 11 หลายเดือนก่อน +19

    The array str is declared with a size of 5 (char str[5];), which means it can store only 4 characters plus the null terminator ('\0'). However, the string "hello" has 5 characters.

    • @bilalrajput1428
      @bilalrajput1428 7 หลายเดือนก่อน +1

      yes Right Answer 🙂🙂🙂🙂🙂🙂

    • @deltashorts9
      @deltashorts9 6 หลายเดือนก่อน

      Right

  • @chirntn
    @chirntn ปีที่แล้ว +8

    Please note that the gets function is considered unsafe and has been deprecated in newer versions of the C standard due to potential buffer overflow vulnerabilities. SO better use fgets( str , sizeof(str), stdin);

  • @triptipal58
    @triptipal58 3 ปีที่แล้ว +7

    How could someone be this much nice..I mean teaching for free all the concepts and that too in understanble form...applaudssss🎉

  • @twinklerambhia3236
    @twinklerambhia3236 3 ปีที่แล้ว +10

    str[5] is an array that can store upto 5 characters only. h e l l o is 5 characters, since the 6th character is a null character the array size has t be 6. Hence, str[6] should be used for storing h e l l o.

  • @papaJPインド人
    @papaJPインド人 3 ปีที่แล้ว +213

    Str[5 ] can store only 5 characters while the string ''hello'' itself has 5 character. hence , there is no space for \0(null character) .

    • @Chess_.64
      @Chess_.64 2 ปีที่แล้ว +4

      O(n+1)

    • @rohitgiri9179
      @rohitgiri9179 2 ปีที่แล้ว +28

      no bro if we are using double quote("") then no need of null character

    • @AniketSingh-be5gk
      @AniketSingh-be5gk 2 ปีที่แล้ว +7

      Bhai aapka knowledge toh kamaal ka hai😂

    • @adityar.b.8979
      @adityar.b.8979 ปีที่แล้ว +11

      @@rohitgiri9179 null character will still be needed even if we use double quotes and so space to allocate it should also be there. It's just that we won't need to write \0 at the end. Double quotes by default takes a \0 at the end.

    • @harshbhalala9387
      @harshbhalala9387 ปีที่แล้ว +1

      @@AniketSingh-be5gk 🤣🤣

  • @taufiqueanwarkhan2396
    @taufiqueanwarkhan2396 ปีที่แล้ว +5

    02:43 Strings are not a data type in C programming, but they can be represented using character arrays.
    05:26 A string in C is an array of characters terminated by a null character.
    08:09 C programming uses character arrays to represent strings.
    10:52 In C programming, strings are null-terminated character arrays.
    13:35 Using arrays to model strings in C and printing them using %s or putsstr
    16:18 Explanation of character arrays in C
    19:01 Understanding string handling in C
    21:37 Different ways to print strings in C

  • @gorakhraut5138
    @gorakhraut5138 5 ปีที่แล้ว +350

    str[5],str="hello" we are unable to store this "hello" into str[5] array. the reason is "\0" we are not adding null character into this array.

    • @soniamalik4929
      @soniamalik4929 4 ปีที่แล้ว +52

      But...harry ne bola tha ki "hello" wale method m compiler khud hi create krega null character?plz answer

    • @liltekos4498
      @liltekos4498 4 ปีที่แล้ว +31

      @@soniamalik4929 kyonki usme humne string ka size define kiya hai 5 ,agar vo 5 voha na hota to vaise hi hota jaise tum bata rahi ho compiler bhi automatically lagata hai \0 but uske liye bhi space honi chaiye na isliye

    • @vikassaini7485
      @vikassaini7485 4 ปีที่แล้ว +11

      @@liltekos4498 Have you run this code on your computer?
      This code is showing me error instead of writing str[6]

    • @starkendeavours7072
      @starkendeavours7072 4 ปีที่แล้ว +6

      @@vikassaini7485 Yes, bro I just checked. If you write str[5], It's actually not giving an error but instead of hello some unusual letters are getting appended with "hello". But str[6] gives no errors and unsatisfied results.

    • @BiswajitPatra-xn6xw
      @BiswajitPatra-xn6xw 4 ปีที่แล้ว +1

      @@soniamalik4929 yup compiler do this own. But tell me to stay you require a room space ri8, is it matters whether you created the room or the builder created for u?????///

  • @pythonkrishna290
    @pythonkrishna290 ปีที่แล้ว +90

    str[5] can only store 5 characters. The strinng (or character array) "hello" has 5 characters so there's no space for the null character(\0).
    For those who are wondering that by using double quotes ("") the compiler will automatically add a null character(\0) should remember that altough it's true but the compiler will need an extra space in that array to store the null character(\0) which is limited in the character array str.
    Hope I am right...

  • @priyanujbora9689
    @priyanujbora9689 4 ปีที่แล้ว +11

    char str[5];
    str="hello";
    str is a constant pointer to str[0] and its value is not modifiable; if str[0] is modified first then this constant pointer can be modified

    • @sirkartik
      @sirkartik 3 ปีที่แล้ว

      bro can u pls explain this further?

    • @yashrawat747
      @yashrawat747 2 ปีที่แล้ว +1

      @@sirkartik bhai hello 5 characters se bna hh
      abb hmey ek aur space chaiye h jhan pr hum \0 issey store kr payen

    • @sirkartik
      @sirkartik 2 ปีที่แล้ว

      @@yashrawat747 Thanks :) for replying bro

    • @harshitsingh2101
      @harshitsingh2101 2 ปีที่แล้ว

      @@yashrawat747 Galat hai bhai, dekho jo str hai wo yaha par array pointer ki terah kaam kar raha hai agar tumne str = "hello" likha matlab tum str[0] ke address ko equal kar rahe ho "hello" ke toh compiler tuhme wo karne nhi deta instead do
      char *str[(this value doesn't matter)];
      *str = "hello";

  • @heeru379
    @heeru379 4 ปีที่แล้ว +90

    (edited)
    9:24 Because it's a C program and you can't assign a string into an array of characters like this.
    str = "hello"; ❌
    str[6] = "hello"; ✔️

    • @harshitsingh2101
      @harshitsingh2101 2 ปีที่แล้ว +2

      No you are very wrong dear

    • @heeru379
      @heeru379 2 ปีที่แล้ว +2

      @@harshitsingh2101 Yes ! You are right I was wrong that time. Thank you
      I thought earlier it will give error because of null character but the real reason is assignment operator.

    • @akn3021
      @akn3021 2 ปีที่แล้ว +1

      You are wrong....if array size 6 then it is correct

    • @heeru379
      @heeru379 2 ปีที่แล้ว +3

      @@akn3021
      Brother, index starts from 0

    • @ictfan-ly8gh
      @ictfan-ly8gh 5 หลายเดือนก่อน

      Still u are wrong 😂

  • @srinibaspanigrahi8558
    @srinibaspanigrahi8558 3 ปีที่แล้ว +71

    The str[5] is a character array that can store 5 elements, but to store 'harry' 6 characters are required.

  • @PurviGuptaofficial
    @PurviGuptaofficial 2 หลายเดือนก่อน +2

    Star[5] liya gaya hai but hame star[6] lena chahiye q ki hello ke sath null character ko bhi count karte hai
    Correct form
    char str [6];
    str = "hello";
    Esa hona chahiye

  • @proteansan5141
    @proteansan5141 3 ปีที่แล้ว +14

    9:46
    Because in this type of syntax the compiler automatically takes the \0 which requires an extra memory location so that's why it should be str[6]

  • @yogeshkolate8207
    @yogeshkolate8207 3 ปีที่แล้ว +6

    The size of array of string should be greater than 1 from actual size of array to store null character (\0) ie. Ln+1

  • @tishagupta3136
    @tishagupta3136 3 ปีที่แล้ว +2

    The str[5] represents an array which only stores 5 character and hence to make it a proper string we have to increase the length by 1 to store the null value too. That will make it a perfect string and hence then it will print harry and run without creating an issue

  • @hritavsinghsolanki8893
    @hritavsinghsolanki8893 3 ปีที่แล้ว +8

    char str[5];
    str ="harry"; we cant assign an array like this coz its a pointer and that is constant always

  • @parthatewary738
    @parthatewary738 7 หลายเดือนก่อน +1

    9:50 str[5] can only store 5 char that is h,e,l,l,o so there is no place left for null.
    So we have to give str[6]

    • @suhanigupta.3120
      @suhanigupta.3120 7 หลายเดือนก่อน +1

      Same doubt

    • @parthatewary738
      @parthatewary738 7 หลายเดือนก่อน

      Harry wrote str[5] instead of std[ 6]

    • @parthatewary738
      @parthatewary738 7 หลายเดือนก่อน

      ​@@suhanigupta.3120so if you do it str[6] it will run as there will be 1 place for /0

  • @themoviestory8763
    @themoviestory8763 2 ปีที่แล้ว +2

    Char str[5]="hello"; ✓
    Str = "hello"; ×
    *You should initialize the value with data type*

  • @Josuke217
    @Josuke217 ปีที่แล้ว +2

    9:45 initialization and declaration must happen in the same line for strings.

  • @sarveshdevrukhakar
    @sarveshdevrukhakar 3 ปีที่แล้ว

    Firstly, ANSWER of your question is ( because when we right any word in double-quotes that time compiler automatically applies the NULL character ( '\0' ) ; so, above your line is never create any issues. Ok !
    Then 2nd thing is , when you explaining the "printstr" function that time you say " i will tell you ki why iam used %c in printf .
    But after sometime you forgot that...🙄🙁
    But its okay. 🤩🙌👌👍
    You are AWESOME guy..
    No doubt..👍👍

  • @dibyochowdhury4514
    @dibyochowdhury4514 หลายเดือนก่อน

    Have tried many videos but your ones are short and simple and to the point. Thank you for making such a quality content harry bhai

  • @ramanshusharanmishra5397
    @ramanshusharanmishra5397 ปีที่แล้ว +1

    The correct answer to your question is that we cant assign a string to the base adress of an array. and in the given question "arr" represents the base address of an array.

  • @Abhirup_Maiti
    @Abhirup_Maiti 2 ปีที่แล้ว +10

    9:40 char str[5] can store 5 elements only. And str="hello" has 5 characters but we can't store the null character('\0') within str[5]. Thus it is not a valid string.

  • @vishalsoner6652
    @vishalsoner6652 3 ปีที่แล้ว

    Harry bro Mene aap ka 15 hours ka c_language ka pura video dekha he
    Esh tutorial me aap bohot fast pass rhe ho

  • @Ashish...114
    @Ashish...114 ปีที่แล้ว +1

    because \0 mandatory h & uske liye length 6 chahiye

  • @mohammed-i786
    @mohammed-i786 4 ปีที่แล้ว +9

    Quiz answer : Because there is no space to accomodate the null character.

  • @mohitchouhan7679
    @mohitchouhan7679 10 หลายเดือนก่อน +1

    because array str is delared with a size of 5 .

  • @194patelnishant4
    @194patelnishant4 หลายเดือนก่อน

    Str[5] holds 5 character which is Harry. Although it requires proper size for storing value. Like above example normally string array takes extra size,We need to intalize array (string length + null character),it will tell you string end and does not take any blank value.

  • @soumyajitmukherjee3122
    @soumyajitmukherjee3122 3 ปีที่แล้ว +2

    As "hello"={'h', 'e', 'l', 'l', 'o', '\0'} exceeds the stack by 1 character and by definition given above is char srt[5], of strength 5. That's why the compiler will through error.

  • @adnankaisar12
    @adnankaisar12 2 ปีที่แล้ว +10

    Sir as you said and we all know element of an array started from 0 so char str[5] is correct according to me cause it has 6 spaces so we can include '\0' too in that if i write "harry".
    I'm confused sir, coreect me if im wrong.

    • @iliyonhunyawr
      @iliyonhunyawr 2 ปีที่แล้ว

      When we declare an array with any index number then its mean its locations is one less of it
      For example str[5] have 0,1,2,3,4 locations so we have to declare another location for null

  • @chiteez_____1562
    @chiteez_____1562 ปีที่แล้ว +1

    Quiz solution:
    Since the array length = string length , therefore, the compiler will get no space to add ''\0' in the end and as a result it will not be considered as an string.

  • @CODINGCLASS-e5w
    @CODINGCLASS-e5w 2 หลายเดือนก่อน

    Char str [5];
    Str="hallo";
    Bas ek kaam karna hai 5 ki jagah hume 6 likh dena hai null.\0 ke liye
    Hame apne charcter se space ko chhota nahi likhna chaho to bda kitna bhi likh sakte ho magar null \0 ke liye jagah deni padegi

  • @sangeetakharat1933
    @sangeetakharat1933 ปีที่แล้ว +1

    String 5 can store only 5 digits and the "hello" itself has 5 digits and because of the semicolon it will also add \o(null character) but there is no space to store the \o character.ok

  • @Rupesh_Arora
    @Rupesh_Arora 3 ปีที่แล้ว +15

    hamare pas '\0' store kane kae liye jagha hi nahi hai or jab tak \0nahi ata to string terminate nahi hongi

  • @lovishbansal3789
    @lovishbansal3789 3 ปีที่แล้ว +3

    char str[5];
    str = "hello";
    This will create problem because we have length of hello word 5 and in str we can store only 5 character but for string we need length of character+1 in array created

  • @factsandcoding9810
    @factsandcoding9810 ปีที่แล้ว +1

    Sir mast question hai!
    The real problem is that
    str is a pointer which stores the base address of character array. we cannot assign a string to it.

  • @jayanspaliwal5907
    @jayanspaliwal5907 3 ปีที่แล้ว +1

    9:41 This will create a problem because 'hello' will occupy all the space leaving none for the null '\0' character

  • @er.skelafahmed
    @er.skelafahmed 3 ปีที่แล้ว +1

    Str[6] will be correct because of hello=5 char, " " = 1 char ,total =6 char

    • @jaykumarpawar08
      @jaykumarpawar08 3 ปีที่แล้ว +1

      Means,
      char str[6]={'h','e','l','l','o','/0'};
      🙃

    • @jaykumarpawar08
      @jaykumarpawar08 3 ปีที่แล้ว +1

      I hope you understand 😀

  • @tejalmohod9389
    @tejalmohod9389 3 ปีที่แล้ว +1

    9:39
    Because size is not sufficient for string as it needs to include '\0' as a null character..!!

  • @harshalpatil2978
    @harshalpatil2978 ปีที่แล้ว +2

    Sir maine ab apke videos dekhne chalu kiye hai

  • @gamingangsuk4940
    @gamingangsuk4940 2 ปีที่แล้ว

    You are a very good TH-cam channel I like your channel😀😀😀😀

  • @NishaYadav_64
    @NishaYadav_64 3 ปีที่แล้ว +1

    Outstanding way to teach 🥰👏👏

  • @surajprajapati3627
    @surajprajapati3627 2 ปีที่แล้ว +1

    str[5] initialise from 0 to 4, which only can store upto 5 char so null char cann't be added by compiler.

  • @vaibhavbhardwaj48
    @vaibhavbhardwaj48 5 ปีที่แล้ว

    This is the right way to insert
    #include
    int main()
    {
    char str[] = "Hello";
    printf("%s", str);
    return 0;
    }

  • @TanishJangir4
    @TanishJangir4 ปีที่แล้ว

    "String ek data type mene nahi bataya or hota bhi nahi hai" that initial line is amazing to start

  • @SisodiyaTech
    @SisodiyaTech 4 ปีที่แล้ว +6

    Length of array+1
    But there char str[5];
    str="hello";
    hello is 5 character
    Null character is needed to terminate

  • @vaishnavisharma4137
    @vaishnavisharma4137 3 ปีที่แล้ว +2

    this lecture really help me a lot bhaiya to learn about strings very clearly. thanks a lot bhaiya for your videos and appreciable effort.

  • @SANJAYDAS-zh7fw
    @SANJAYDAS-zh7fw 2 ปีที่แล้ว +1

    9:42 mein len+1 size hona cahiye to accomodate \0 but the size of that array is len not len+1

  • @vgx15gaming37
    @vgx15gaming37 3 ปีที่แล้ว

    harry bhai made strings easy. Thank you harry bhai

  • @chiteez_____1562
    @chiteez_____1562 ปีที่แล้ว

    Very nice explanation! ❤👍

  • @PR_Pavan
    @PR_Pavan ปีที่แล้ว +2

    #include
    int main()
    {
    char str[6] = "PAVAN";
    for(int i=0; i

  • @GupteswarGaming
    @GupteswarGaming ปีที่แล้ว +2

    Str 5 can store only 5 character and the word "hello " is already consist of 5 so there is not a null character space 😊

  • @aadvikchaturvedi2986
    @aadvikchaturvedi2986 3 หลายเดือนก่อน

    9:52 the str only have 5 spaces and the word is also of 5 characters so there would be no space left for null character.

  • @garixkeleng7819
    @garixkeleng7819 3 ปีที่แล้ว

    9:39 because it requires character length plus 1 extra array

  • @Diplomaincmtech
    @Diplomaincmtech 2 ปีที่แล้ว +1

    Quick quiz ans.= the above line will create problem becaz we need str[ 6] to store hello string and 5 +1 space is needed to print NULL char.

  • @codificatore_05
    @codificatore_05 ปีที่แล้ว

    9:38 Bcoz sir array size is 5 and bcoz we have put double quotation therefore there's no space for it. Hence the string will be printed with garbage values ..So the space should be increased .

  • @manthanpatel1864
    @manthanpatel1864 2 ปีที่แล้ว

    Char str[6] hona chahiye valid output ke liye
    Char str[5] sirf 5 length ka word print karega
    Aur valid output ke liye len + 1 hona bahut jyada jaruri hai

  • @ishaananand4779
    @ishaananand4779 3 ปีที่แล้ว +1

    The str[5] is a character array that can store 5 elements, but to store 'harry' 6 characters are required(null character required).

  • @daughter_of_chitkute0611
    @daughter_of_chitkute0611 ปีที่แล้ว

    the compiler adds the null character by itself as we have declared it as a string hence the size would imply that 4 characters for the string and the last character will be reserved for the '\0'.
    Therefore, we should always give one extra size while declaring the string variable.

  • @sakshigandhi7363
    @sakshigandhi7363 4 ปีที่แล้ว +3

    we supposed to enter str[6]; to solve the problem, bz string size is char+1 for enter"\0"....

  • @sanyamjain144
    @sanyamjain144 2 ปีที่แล้ว

    best coding channel ever

  • @ayushmishra5290
    @ayushmishra5290 2 หลายเดือนก่อน

    str[5] is valid for the string length of 4 character string because of one null character not for 5 string character. For 5 string character we need str[6]

  • @vanshikaagarwal1403
    @vanshikaagarwal1403 3 ปีที่แล้ว

    9:40 length of string will be 6 due to 1 null character /0 and other 5 character of hello and instead of that only 5 is issued so that will create problems.

  • @RadheKrishnaedits9867
    @RadheKrishnaedits9867 8 หลายเดือนก่อน +1

    Because the length of string is 5 and the length of char name is also 5. It has not a sufficient space for NULL character.

  • @Krishna.Tallani
    @Krishna.Tallani 4 ปีที่แล้ว +1

    char str[5] = "hello" ; is a valid statmente

  • @Kaushik_Talukdar
    @Kaushik_Talukdar 3 ปีที่แล้ว +7

    Quick quiz answer:
    Even if the compiler adds a \0 automatically due to presence of double quotes but the array here doesn't have space to accommodate the null character hence it will create problem.

    • @factsandcoding9810
      @factsandcoding9810 ปีที่แล้ว

      array can store 6 characters because indexing starts of 0. 0 to 5 total 6 numbers are there.
      The real problem is that str stores the base address of the array.We cannot store string in that.

  • @siddheshdeshpande8618
    @siddheshdeshpande8618 ปีที่แล้ว

    in double quotes( " " ) compiler will add a null character to variable hence it will need an extra space is required. Due to this reason line will create an problem.
    So the size of the string should be at least { length + 1}

  • @ajayjangid1164
    @ajayjangid1164 4 ปีที่แล้ว +2

    complete explanation:
    As when compiler convert "hello" into {'h' , 'e', 'l', 'l',' o', '\0, } and when it stores in array[5] , then the compiler can't do so bcoz this array is of length- 5 only .

  • @ananya696singh
    @ananya696singh ปีที่แล้ว

    At 9:40 the length of the string has to be equal to 6. Because we have to store a null character which will require extra space of one byte along with characters of the string.

    • @learnwithpaidi8185
      @learnwithpaidi8185 ปีที่แล้ว

      Nahh, the array length is already of 6 : str[0], str[1], str[2], str[3], str[4], str[5].Count it !!

    • @ananya696singh
      @ananya696singh ปีที่แล้ว

      @@learnwithpaidi8185 no

    • @learnwithpaidi8185
      @learnwithpaidi8185 ปีที่แล้ว

      @@ananya696singh how ?? Just see the array size is equal to 6 ..!!

    • @ananya696singh
      @ananya696singh ปีที่แล้ว

      @@learnwithpaidi8185 bhai yrr kya? saaf saaf likha hai ki array ka size 5 hai toh phir ye problem create toh krega hi

    • @learnwithpaidi8185
      @learnwithpaidi8185 ปีที่แล้ว

      @@ananya696singh aree behen , array ka space 0 se count krte hai na..0 se 5 tak count kre tho 6 slots memory create hoga na..

  • @mathtv6526
    @mathtv6526 3 ปีที่แล้ว

    Because str[5], can store only 5 character not the extra null character (that is - length of array should be one greater than the element's characters value)

  • @khushiagrawal159
    @khushiagrawal159 3 ปีที่แล้ว +1

    str[5] ki jagah str[6] hoga tab correct hoga kyuki hello already 5 space ka h to 6 space ka str banana. Padega...

  • @RabindranathSahoo_123
    @RabindranathSahoo_123 ปีที่แล้ว +1

    In str[5], hello word contains 5 letter so \0 can't be add . So this string will be not able store

  • @UECAshutoshKumar
    @UECAshutoshKumar 2 ปีที่แล้ว +1

    Thank you sir ❤️

  • @SwarnadipDutta
    @SwarnadipDutta 6 หลายเดือนก่อน

    str is a pointer to the base element of the char array str [ ] , so we cannot store "hello" in it because it is not a char array. Besides , the value of str is not modifiable.

  • @SadharanLadkaIsBack
    @SadharanLadkaIsBack 10 หลายเดือนก่อน

    str = "hello" consists of 5 characters and when it's checked by the C compiler gcc then it adds a null character in the end and so the size is 6 but it is initialized with char str[5]; so the second line will throw error as there's no problem in initializing the array but the index is overlapping the declared size of the character array

  • @rudranshnemade6299
    @rudranshnemade6299 3 ปีที่แล้ว +1

    9.52 Because str has only 5 memory locations but we need 6 location to store Hello and one \0

  • @its_me_456
    @its_me_456 2 ปีที่แล้ว +1

    Char str[5] can store only 4 elements with 1 null character for printing "hello" it should be like Char str[6].

  • @parthpawar8370
    @parthpawar8370 2 ปีที่แล้ว

    In this selfish world there is harry giving such precious knowledge for free and main is easy to understand even for me ( branch mechanical )

  • @_B_InderjeetSingh
    @_B_InderjeetSingh 3 ปีที่แล้ว

    9:50 Because we did not give space for '\0'.

  • @ayanavadas6154
    @ayanavadas6154 3 ปีที่แล้ว +1

    19:39 No space for, '\0' , NULL character is available in str[5].

  • @rosonerri-faithful
    @rosonerri-faithful 3 ปีที่แล้ว

    9:44 because str array ka length 5 diya gaya hai.. aur hamare string ka length 5 hei..toh \0 accomodate krne ke liye jo extra space chahiye vo hume nhi mil rahi hei. islye error ayga..HarryBhai😁

  • @tanveerjafri3052
    @tanveerjafri3052 5 ปีที่แล้ว

    str[5] = "hello" is wrong because if we write it, It is a user defined string number which is str[5] = "hello" in this case so their is no space for null character in this array of string, So in order to make it write there are 3 ways
    First
    str[] = "hello";
    Second
    str[6] = "hello";
    third
    str[6] = { 'h', 'e' , 'l' , 'l' , 'o' }

  • @phantomfury1608
    @phantomfury1608 2 ปีที่แล้ว

    The word "hello" will create problem because it is a 5-letter word. In the code we have assigned the maximum value that the array can accommodate is up to 5. But while using string we have to denote '/0' in the array code to signify that the string ends here and not to print the garbage value further. So, array required to accommodate given string has to be number of characters in string +1 which is used to denote null character. Therefore, in the code shown, after accommodating the 5 characters of "hello" in the array, there will be no room for denoting null character which will create the problem in the code.

  • @lifeforscience5635
    @lifeforscience5635 4 หลายเดือนก่อน

    quick quiz answer: because there would be no space to store the null value and thus it would not be as a string to the compiler

  • @itz_abhi569
    @itz_abhi569 ปีที่แล้ว

    str[5] it can store 5 characters but we need 6 characters inclusing a null character as we have already defined the size of string. So by using " " that includes null cahracter the complier can't allow it so that's why it will create a problem

  • @yashrawat747
    @yashrawat747 2 ปีที่แล้ว

    sir this is because we have define the character array of only 5 length But what we need is 6 as there are 5 characters and one for null character

  • @TechTitansByMe
    @TechTitansByMe 2 ปีที่แล้ว

    The Str[5] stores only 5 characters but does not contain null character. That's why above line will completely pronounce error in line.

  • @SYED-A.Shaban
    @SYED-A.Shaban 2 ปีที่แล้ว

    because in second line str[10] should be used unstead of str only

  • @vivekhalder2974
    @vivekhalder2974 2 ปีที่แล้ว +1

    the above snippet will create a problem because we are storing "hello" but '\0' character will also require a space which is not present as the size of the array is declared to be 1.

  • @ignition01
    @ignition01 4 ปีที่แล้ว +1

    Super learning And lecture thanks you harry bhai 😍

  • @kalyugkakrishna5970
    @kalyugkakrishna5970 3 ปีที่แล้ว

    Sir, time 20:03 pr aapne kha he ki ham scanf me Wight space nahi le skte to asa nahi he! Mene "Let us C" book me pda he
    .
    .
    .
    scanf (" %[^
    ]s "

  • @30day-trader
    @30day-trader 2 ปีที่แล้ว

    Because is main sirf 5 character store ho sakte hai joki hai "harry" but string ko end karne ke liye "\0" ke store karne ki jagah nhi hai isliye vo error show karega
    agar yahi pe 6 character store karne ki jagah hoti toh error show nhi hoga

  • @incredibleindiabyrudra7361
    @incredibleindiabyrudra7361 2 ปีที่แล้ว

    due to bec the str[6] should be there for hello ,for null character too.

  • @harshit6045
    @harshit6045 2 ปีที่แล้ว +3

    But isn't gets function vulnerable to buffer overflow attacks ? I know modern compilers take care of that, but it is still risky.

    • @shis10
      @shis10 2 ปีที่แล้ว +2

      Yes scanf and gets is risky.
      Use fgets function.

    • @harshit6045
      @harshit6045 2 ปีที่แล้ว +1

      @@shis10 Yeah, thanks for telling

  • @HarshKumar-zm1jl
    @HarshKumar-zm1jl 3 ปีที่แล้ว

    Nicee love it .....sir😁😋😋😋😎😎😍

  • @jayantsingh8967
    @jayantsingh8967 หลายเดือนก่อน

    Char array ka size 6 dena hoga as 1 extra for a null character 😊

  • @TechGenius24x7
    @TechGenius24x7 2 ปีที่แล้ว

    Null character bhii add Krna hota h isliye apko 6 lena h length +1 fir hojyga

  • @SoorajKudale_
    @SoorajKudale_ 2 ปีที่แล้ว

    at 9:49 question the problem was invent because of we can allocate only 5 characters memory and whereas we need as 6 characters so we can repalce arr[6] so problem was solved😁

  • @pavangonahal8920
    @pavangonahal8920 3 ปีที่แล้ว

    9:24 because there is no space for null character in the str array the length should be [6]

  • @hassnainalidayo5433
    @hassnainalidayo5433 2 ปีที่แล้ว

    Because array take an input name of array along with each index number