IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> (第16列)C语言:计算输入的一行字符串中有多少个单词。顺便补充“gets函数”的用法。 -> 正文阅读

[C++知识库](第16列)C语言:计算输入的一行字符串中有多少个单词。顺便补充“gets函数”的用法。

目录

gets函数:?

描述

声明

参数

注意

代码示例

C语言典列:

题目

分析

? ? ? ? 第一步:声明及初始化

????????第二步:输入

????????第三步:计数

????????第四步:输出

完整代码

运行结果


gets函数:?

描述

????????gets()函数用来从标准输入设备(键盘)读取字符串直到回车结果,但回车不属于这个字符串,系统自动用'\0'代替最后的换行符

声明

       char *gets(char *str)

参数

  • str?-- 这是指向一个字符数组的指针,该数组存储了 C 字符串。

注意

? ? ? ? 1、本函数可以无限读取,不会判断上限,所以程序员应该确保str的空间足够大,以便在执行读操作时不发生溢出。如果溢出,多出来的字符将被写入到缓冲区后面的内存位置,这将破坏一个或多个不相关变量的值。这个事实导致gets函数只适用于玩具程序。
? ? ? ? 2、使用?gets()?时,系统会将最后“敲”的换行符从缓冲区中取出来,然后丢弃,所以缓冲区中不会遗留换行符。这就意味着,如果前面使用过?gets(),而后面又要从键盘给字符变量赋值的话就不需要吸收回车清空缓冲区了,因为缓冲区的回车已经被?gets()?取出来扔掉了。

代码示例

#include <stdio.h>

int main()
{
   char str[50];

   printf("请输入一个字符串:");
   gets(str);   //使用gets函数进行输入

   printf("您输入的字符串是:%s", str);

   return(0);
}

C语言典列:

题目

????????输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

分析

? ? ? ? 第一步:声明及初始化


	int i=1,word=0,num=0;    //word用来计算单词数,num计算字母数

	char letter[80];    //数组用来存放字符串
	

????????第二步:输入


	printf("请输入:");

	gets(letter);//gets函数是在头文件stdio.h中,可以直接使用
	

????????第三步:计数


	for(i=0;letter[i]!='\0';i++)
	{
        //一般一句话单词之间是空格隔开,一个空格结束单词数加一
		if(letter[i]==' ')
		{
			word++;
		}
        //不是空格,就计算字母的个数
		else 
		{
			num++; 
		}

	}

????????第四步:输出

//由于字符串的最后一个字符我们会直接换行,而不是输入空格,所以输出的时候单词数加一
printf("单词数为:%d",word+1);

printf("字母总数:%d",num);

完整代码

#include<stdio.h>

int main()
{
	int i=1,word=0,num=0;
	char letter[80];

	printf("请输入:");
	gets(letter);

	for(i=0;letter[i]!='\0';i++)
	{
		if(letter[i]==' ')
		{
			word++;
		}
		else 
		{
			num++; 
		}
	}
	
	printf("单词数为:%d\n",word+1);
	printf("字母总数:%d\n",num);

	return 0;
}

运行结果

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 11:42:41  更:2022-01-28 11:42:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:39:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码