in this programwe declare character pointer *pstr to show the string on the screen we then point the pointer pstr to str thenwe print each character of the string using the while loop instead of using the while loopwe could straightaway use the function puts()as shown below puts(pstr)the function prototype for puts(is as followsint puts(const char * )here the const modifier is used to assure that the function dose not modify the contents pointed to by the source pointer the address of the string is passed to the function as an argument the parameter passed to puts(is pointer which is nothing but the address to which it points to or simply an address thuswriting puts(strmeans passing the address of str[ similarly when we write puts(pstr)we are passing the same addressbecause we have written pstr strconsider another program that reads string and then scans each character to count the number of upper and lower case characters entered #include int main(char str[ ]*pstrint upper lower printf("\ enter the string ")gets(str)pstr strwhile(*pstr !'\ 'if(*pstr >' &*pstr <' 'upper++else if(*pstr >' &*pstr <' 'lower++pstr++printf("\ total number of upper case characters % "upper)printf("\ total number of lower case characters % "lower)return output enter the string how are you total number of upper case characters total number of lower case characters programming examples write program to copy string into another string #include int main(char str[ ]copy_str[ ]char *pstr*pcopy_strpstr strpcopy_str copy_strprintf("\ enter the string ")gets(str)while(*pstr !'\ '