#include<stdio.h> #include<string.h> #include<stdio.h> #include<ctype.h> int main() { char arr[1000] = "0"; scanf("%[^\n]", arr); int i = 0; int sz = strlen(arr); char* play = arr;//指向 字符串的第一个字符 char* end = arr;//用于跨过空格 目前指向第一个字符 while (*play)//*play如果等于'\0'就会自动跳出 { char a = toupper(*play);//用于转换大写字母 printf("%c", a); while (*end != ' '&&*end!='\0')//找到空格或者字符串末尾的'\0'停下 { end++; } if (*end == ' ') { *play = *(end + 1);//*play跳过空格指向下一个单词的首字母 } else//end指向'\0'说明已经到了字符串的末尾了该停止了 { *play = *end;//把'\0'赋给*play '\0'的ASCII值为0 } end++; } return 0; }