Das ergibt für mich aber keinen Sinn. Immerhin legst du ja mit 'int enmSpaces' ja genug Speicher für eine int-Variable an, und mit 'enmSpaces = S_Barrel|S_Top|S_Grip;' machst du einen impliziten Typecast auf Integer

Ausserdem ergibt dieser Code
Code:
#include <stdio.h>

enum { S_None = 0, S_Barrel = 1, S_Top = 2, S_Under = 4, S_Grip = 8, S_Stock = 16 }; //Spaces
int enmSpaces;

int main(void)
{
  char * acharTempChar;
  acharTempChar = (char*) malloc(256);
  if(acharTempChar!=NULL)
  {
    sprintf(acharTempChar, "%i", enmSpaces);
    printf("%s",acharTempChar);
		free(acharTempChar);
  }
}
ebenfalls 11. Zumindest, wenn ich es mit mingw übersetze.