How to make this C code shorter -
i have code toggles values in struct.
for example, find myself writing code lot looks this:
if(options.test == 1) { options.test = 2; } else if (options.test == 2) { options.test = 1; } is there more compact version can use make code shorter?
if values of options.test either 1 or 2 throughout execution of program, can do:
options.test = 3-options.test; if variable may set other values, best way handle with:
switch (options.test) { case 1: options.test = 2; break; case 2: options.test = 1; break; case ...: options.test = ...; break; case ...: options.test = ...; break; case ...: options.test = ...; break; default: options.test = ...; break; } if values between 0 , n (with relatively small n), may consider hashing.
for example, instead of:
switch (options.test) { case 0: options.test = 4; break; case 1: options.test = 2; break; case 2: options.test = 1; break; case 3: options.test = 3; break; case 4: options.test = 5; break; case 5: options.test = 0; break; } you can do:
static int hash[] = {4,2,1,3,5,0}; options.test = hash[options.test];
Comments
Post a Comment