#include #include #include // initializes strs to a series of strings, in this case, letters a-z int initStrs(char* strs[]); // builds res up with 'n' randomly-selected entries from strs; // 'entries' specifies how many entries are in 'strs' void pickEntries(char* res, int n, char* strs[], int entries); // frees memory allocated by entries in strs void freeStrs(char* strs[]); int main() { char* strs['z'-'a']; // an entry for each letter int len=initStrs(strs); char res[100+1]; // plus one for trailing '\0' pickEntries(res,100,strs,len); freeStrs(strs); printf("%s\n",res); return 0; } int initStrs(char* strs[]) { // initialize a string for each letter int i; for(i=0; i<'z'-'a'; i++) { strs[i]=malloc(sizeof(char[2])); strs[i][0]='a'+i; // current letter strs[i][1]='\0'; // null terminate for a c-style string } return 26; } void pickEntries(char* res, int n, char* strs[], int entries) { int i; res[0]='\0'; // initialize res to blank string //pick n random entries and append them to res: for(i=0; i