// // main.c // 每个单词首字母大写并统计单词个数
#include <stdio.h> #include <string.h>
/*! 小写字母变大写字母 * @param small 数组传过来的单词开头小写字母 * * @return 大写字母 */ char first_Word(char small){ char big; int temp = 0; big = small - 32; return big; }
/*! 计算有多少个单词, 以空格隔开的算一个单词 * @param len 数组长度 * @param str 数组名 */ void count_Words(int len,char str[len]){ int num = 1; for (int i = 0; i < len; i++) { if (str == ' ') { num++; str[i+1] = first_Word(str[i+1]); } if (i == 0) { str = first_Word(str); } } printf("一共有%d个单词\n",num); puts(str); }
int main(int argc, const char * argv[]) { char str[100]; gets(str); str[0] = first_Word(str[0]); int len = strlen(str); count_Words(len, str); return 0; } 如果输入下面这四个会出现最后一行的结果,为什么? sdf dsf dz z 一共有5个单词 3df Dsf Dz Z \340
|