#include <stdio.h>
#include <string.h>
//#define M 9
int main(int argc, const char * argv[])
{
#ifdef M
char * name = "zhangsanfeng";
// puts不可以格式化输出.
puts(name);
puts(&name[1]);
// gets , 有警告
// 数组长度是100 , 但是可以输入 120 , 就越界了.
// gets可以接收空格
// char str1[100];
// gets(str1);
// puts(str1);
//************************ stone ***
char str2[1000] = "hello ";
char * str3 = "world";
// strcat(oldStr,newStr) ---> oldStr = oldStr + newStr
// oldStr的长度要足够大, 只要能够保存下 oldStr + newStr
strcat(str2, str3);
puts(str2);
//************************ stone ***
char name1[100] = "xiangyu";
char * name2 = "liubang";
strcpy(name1, name2);
puts(name1);
puts(name2);
//************************ stone ***
char * phone1 = "11111";
char * phone2 = "22222";
// -1 表示 phone1 < phone2 , 0 相等 , 1 表示 phone2>phone2
int a = strcmp(phone1, phone2);
printf("%d\n", a);
//************************ stone ***
char * ss = "hello world";
unsigned long l = strlen(ss); // 不含\0的个数
printf("%lu\n",l);
//******* 判断单词个数, 单词首字母转大写 ***************** stone ***
#endif
char book[100];
int words = 0; // 判断是否是字符串的 标记
int count = 0; // 字符串个数
gets(book);
for (int i = 0; book[i] != '\0'; i++) {
if (book[i] == ' ') {
words = 0;
}
else if (words == 0) {
count++;
book[i] = book[i] - 32;
words = 1;
}
}
printf("单词个数: %d, 字符串:%s\n", count, book);
return 0;
}