0

The output I expected was:

alpha
beta

I used the following code:

#include<iostream.h>
#include<conio.h>
void main()
{
    clrscr();
    char choice[2][5]={"alpha","beta"};
    cout<<choice[0]<<endl;
    cout<<choice[1];
    getch();
}

But this is what comes:

alphabeta
beta

Can anyone tell me what I did wrong? Thank you.

P.S.:I know I am not using standard c++, but this is how we have to do in school.

Edited by anu07: n/a

3
Contributors
4
Replies
5
Views
5 Years
Discussion Span
Last Post by anu07
0

Ts becouse alpha jst fills all the space allocatd and the next space will be filld with beta whch z not 5lettered and the string end"\0"is not present for alpha here ny way

0

Ts becouse alpha jst fills all the space allocatd and the next space will be filld with beta whch z not 5lettered and the string end"\0"is not present for alpha here ny way

Can you elaborate, and with proper English? Thank you.

0

There is not enough room in your array to hold "alpha". The C-string "alpha" ends with an additional '\0'(NUL)-character and thus needs 6 chars in the array. char choice[2][6]={"alpha","beta"}; should work.

0

There is not enough room in your array to hold "alpha". The C-string "alpha" ends with an additional '\0'(NUL)-character and thus needs 6 chars in the array. char choice[2][6]={"alpha","beta"}; should work.

Thanks a lot Caligulaminus, it worked. I thought that, since "alpha" is held from choice[0][0] to choice[0][4], choice[0][5] should hold the null character.

Thanks again. :)

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.