所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
原理:空格是一个字符: ‘ ’;// '\0’是字符串结束标志
注意:
scanf(); //输入字符串中的空格会被当成字符串分隔符号,只能输出前面的字符串, 给字符数组
gets();//输出完整的字符串(带有空格的也可以)
printf("%d\n",strlen(a); //这个统计字符串的字符个数
printf("%d\n",sizeof(a); //计算定义的字符数
#include<stdio.h> #include<string.h> //引入,字符串的API int main(){ char c[50]; char b[30]; scanf("%s",c); //这里的c就是 地址 int num=0; printf("%s\n",c); //这里如果您输入: hello yuo dkege ,打印: //hello,scanf();不能完整读取带有空格的字符串,系统把空格:当成字符串和字符串的分隔符号,多个字符串 //只能打印出前面的字符串 ,%s指一个字符串 printf("%d\n",strlen(c)); //统计字符串的字符个数 printf("%d\n",sizeof(c)); //计算定义的字符数 // for(i=0;i<=;i++){ // } return 0; }
#include<stdio.h> #include<string.h> //引入,字符串的API int main(){ char c[50]; char b[30]; // scanf("%s",c); //这里的c就是 地址 gets(c); //这个可以把空格也能当成字符,输出完整字符串 int num=0; printf("%s\n",c); //这里如果您输入: hello yuo dkege ,打印: //hello,scanf();不能完整读取带有空格的字符串,系统把空格:当成字符串和字符串的分隔符号,多个字符串 //只能打印出前面的字符串 ,%s指一个字符串 printf("%d\n",strlen(c)); //这个遇到空格就会结束 printf("%d\n",sizeof(c)); //计算定义的字符数 // for(i=0;i<=;i++){ // } return 0; }
#include<stdio.h> #include<string.h> //引入,字符串的API , //stren();使用 int main(){ char c[50]; char b[30]; // scanf("%s",c); //这里的c就是 地址 gets(c); int num=1; //这个从1开始, 一个空格有两个单词, printf("%s\n",c); //这里如果您输入: hello yuo dkege ,打印: //hello,scanf();不能完整读取带有空格的字符串,系统把空格:当成字符串和字符串的分隔符号,多个字符串 //只能打印出前面的字符串 ,%s指一个字符串 printf("%d\n",strlen(c)); //这个遇到空格就会结束 printf("%d\n",sizeof(c)); //计算定义的字符数 for(int i=0;i<=strlen(c);i++){ if(c[i]==' '){ num++; } } printf("这行字符串有%d个单词",num); return 0; }