Thread: c program , kinda wierd

  1. #1
    Registered User
    Join Date
    Oct 2005
    Location
    Hyderabad, India
    Posts
    33

    c program , kinda wierd

    Code:
    main()
    	{
    		int a[] = { 2,4,6,8,10 };
    		int I = 0;
                    printf("%d ",I[a]);
    		printf("%d ",0[a]);
    		printf("%d ",1[a]);
    		printf("%d ",2[a]);
    		printf("%d ",3[a]);
    	}
    can somebody explain why this works ?

  2. #2
    Registered User vinit's Avatar
    Join Date
    Apr 2006
    Location
    India
    Posts
    39
    Because statement
    Code:
    printf("%d ",1[a]);
    is equivalent to
    Code:
    printf("%d ",a[1]);
    & is valid statement in C

  3. #3
    Registered User
    Join Date
    Jun 2004
    Posts
    84
    ANSI C defines a[i] as *((a) + (i)). So there's really no difference in which one comes first, pointer or index.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Using variables in system()
    By Afro in forum C Programming
    Replies: 8
    Last Post: 07-03-2007, 12:27 PM
  2. BOOKKEEPING PROGRAM, need help!
    By yabud in forum C Programming
    Replies: 3
    Last Post: 11-16-2006, 11:17 PM
  3. Can someome help me with a program please?
    By WinterInChicago in forum C++ Programming
    Replies: 3
    Last Post: 09-21-2006, 10:58 PM
  4. Replies: 5
    Last Post: 06-15-2003, 11:20 AM
  5. Replies: 2
    Last Post: 05-10-2002, 04:16 PM