#include #include int main() { char sir[101], *tmp, tmpC[50][101]; int i, j, count = -1, ok = 0, memUsed = 0, varType, number = 0, produs = 1; do { gets(sir); tmp = strtok(sir," ,"); while (tmp != NULL) { count++; strcpy(tmpC[count],tmp); tmp = strtok (NULL," ,"); } for (i = 0; i <= count; i++) { if (strcmp(tmpC[i],"char") == 0) { varType = 1; //memUsed++; } else if (strcmp(tmpC[i],"short") == 0) { varType = 2; //memUsed = memUsed + 2; } else if (strcmp(tmpC[i],"int") == 0) { varType = 3; //memUsed = memUsed + 4; } else { for (j = 0; j < strlen(tmpC[i]); j++) { if (tmpC[i][j] >= '0' && tmpC[i][j] <= '9') { number = number*produs + (tmpC[i][j] - '0'); produs *= 10; } else { if (number != 0) { memUsed = memUsed + number; number = 0; produs = 1; ok = 1; } if (tmpC[i][j+1] == NULL && ok == 0) { if (varType == 1) { memUsed++; } else if (varType == 2) { memUsed = memUsed + 2; } else if (varType == 3) { memUsed = memUsed + 4; } } } } } if (ok) { printf("%d\n",memUsed); ok = 0; } } } while (sir[0] != ' '); return 0; }