"sizeof" operator will give the total number of bytes holded by the variable. a[] has totally 10 characters including the '\0' character... Also ur compiler allocates 1 byte for each character. So totally you get 10 as output..
If u want 9 as output use strlen(*variable*) function. On 3 August 2011 00:31, Anuj kumar <[email protected]> wrote: > #include<stdio.h> > #include<conio.h> > > int main() > { > char a[]="sunstroke"; > char *p="coldwave"; > printf("%d",sizeof(a)); > printf("\n"); > printf("%d",sizeof(p)); > getch(); > return 0; > } > > output 10 4 > > how 10 is coming??? > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- Thavasi -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
