But this code will work:

#include <stdio.h>
>
> int main()
> {
>         int i;
>         int array[]={ 2, 4, 45, 3, 21};
>
>         *i = 9;*
>         for ( ;i < sizeof(array);){
>                 printf("%d\n",array[3]);
>                 i++;
>         }
>         return 0;
>
> }
>

*sizeof* is a keyword BTW, and it's designed to return a value of type *
size_t*. It must be a number greater than or equal *zero* because it
represents a size of something, which could never be negative.
In *gcc* compiler implementation, *size_t* is actually a *long unsigned int*
.

In the for loop, you are trying to compare an unsigned value with a negative
(signed) value, it won't work and the signed value get transformed into a
very big number (because of reading it without the -ve sign).

A solution for this could be a simple casting to *int* for example:

for ( ;i < *(int)* sizeof(array);){
>


-- Amahdy
www.amahdy.net



On Tue, Aug 30, 2011 at 17:42, addytheboss khandalkar <
[email protected]> wrote:

> hello friends,
>
> i am facing trouble in understanding how does this code works and how does
> sizeof( ) works? and why it is not entering in the loop ?
>
>
>
> #include <stdio.h>
>
> int main()
> {
>         int i;
>         int array[]={ 2, 4, 45, 3, 21};
>
>         i = -9;
>
>         for ( ;i < sizeof(array);){
>                 printf("%d\n",array[3]);
>                 i++;
>         }
>
> }
>
>
>
> Thanks
> Addytheboss
>
>  --
> You received this message because you are subscribed to the Google Groups
> "google-codejam" 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/google-code?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"google-codejam" 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/google-code?hl=en.

Reply via email to