Here are some C idioms that may be usefull.

Place \0 at the location pointed to by ptr then increment ptr

   *ptr++ = '\0';   

Increment ptr then place \0 at the location pointed to by ptr

   *++ptr = '\0';   

This program will print its self! I guess its not of any real use, but I think its clever.

  main(a) {a="main(a) {a=%c%s%c;printf(a,34,a,34);}";printf(a,34,a,34);}  

This is something I saw out on the web. It swaps the value of two variables without using a third variable as a temporary store.

   one ^= two;   
   two ^= one;
   one ^= two;

Have you ever had a SEGV from printf because you passed a NULL pointer to a %s flag???. This idiom will put a stop to all that nonsence.

   printf("%s\n", Str ? Str : "Null");   

o Program swapping the contents of two variables.

See Also:

o Common Coding Errors.

Top Master Index Keywords Functions

Martin Leslie