Q:

Tips for golfing in C

What general tips do you have for golfing in C?  I'm looking for ideas that can be applied to code golf problems in general that are at least somewhat specific to C (e.g. "remove comments" is not an answer).  Please post one tip per answer.  Also, please include if your tip applies to C89 and/or C99 and if it only works on certain compilers. 

A:

Use bitwise XOR to check for inequality between integers:
if(a^b) instead of if(a!=b) saves 1 character. 

A:

Abuse main's argument list to declare one or more integer variables:
main(a){for(;++a<28;)putchar(95+a);}

(answer to The alphabet in programming languages)
This solution also abuses the fact that a (a.k.a.  argc) starts out as 1, provided the program is called with no arguments. 
Use global variables to initialize things to zero:
t[52],i;main(c){for(;i<52;)(c=getchar())<11?i+=26:t[i+c-97]++;
for(i=27;--i&&t[i-1]==t[i+25];);puts(i?"false":"true");}

(answer to Anagram Code Golf!) 

A:

The comma operator can be used to execute multiple expressions in a single block while avoiding braces:
main(){                                                                                     

int i = 0;                                                                                  
int j = 1;                                                                                  
if(1)                                                                                       
    i=j,j+=1,printf("%d %d\n",i,j); // multiple statements are all executed                                                  
else                                                                                        
    printf("failed\n");                                                                     

}

Outputs: 1 2

