字符串的输入输出_字符串输入-程序员宅基地

技术标签: C语言基础学习  c语言  开发语言  

目录

1.字符串的输出

2.字符串的输入

2.1scanf无法输入空格、tab和回车

2.2scanf设置输入字符串长度


1.字符串的输出

字符串的输出较为简单,使用printf函数即可,格式为:

printf("%s",string)//其中string为对应字符串,使用%s进行字符串占位。

#include<stdio.h>

void main(void)
{
    char string[]="Hello World!";
    printf("%s",string);
}

 运行结果为:

Hello World!

2.字符串的输入

使用scanf函数即可,格式为:

scanf("%s",string)//其中string为对应字符串数组名。

#include<stdio.h>

void main(void)
{
    char string[12];
    printf("请输入字符串:");
    scanf("%s",string);
    printf("您输入的字符串为:%s",string);
}

运行结果为:

请输入字符串:1234
您输入的字符串为:1234

用scanf函数进行字符串输入涉及两个问题:一是空格、tab键和回车这样的特殊字符能否输入;二是scanf将需要输入的字符串以字符串数组的形式存放在预先定义的内存中,如果需要存放的字符串长度大于预定义的长度,那么就会出现溢出的问题。

2.1scanf无法输入空格、tab和回车

测试程序如下:

#include<stdio.h>

void main(void)
{
    char string0[8],string1[8];
    printf("请输入字符串0:");
    scanf("%s",string0);
    printf("请输入字符串1:");
    scanf("%s",string1);
    printf("您输入的字符串为:%s%s",string0,string1);
}

在调试窗口中,字符串0输入为1[space][tab][enter],字符串1输入123。输出结果如下所示:

请输入字符串0:1 
请输入字符串1:123
您输入的字符串为:1123

说明,空格、tab和回车键并没有输入进去。

2.2scanf设置输入字符串长度

在使用scanf函数进行字符串输入时,可以设置最大输入长度,来避免出现字符串溢出报错。语法如下所示:

scanf("%7s",string)//其中string为对应字符串数组名。

%7s代表最大可输入7个字符所组成的字符串,如果输入的字符串长度大于7时,从第八个字符开始转为下一个scanf的输入。测试程序如下:

#include<stdio.h>

void main(void)
{
    char string0[8],string1[8];
    printf("请输入字符串0:");
    scanf("%8s",string0);
    printf("请输入字符串1:");
    scanf("%8s",string1);
    printf("\n您输入的字符串0为:%s\n您输入的字符串1为:%s",string0,string1);
}

在调试窗口中输入字符串0为123456789,按回车键结束后,程序直接打印出了结果(没有要求输入字符串1),且将9视为字符串1的唯一一个元素,程序运行结果如下:

请输入字符串0:123456789
请输入字符串1:
您输入的字符串0为:12345678
您输入的字符串1为:9

且%8s中限制的字符串长度可以和预定义的string0长度相等,显然更小也是可以的。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45613195/article/details/126312557

智能推荐

DVWA之File Inclusion(文件包含)-程序员宅基地

文章浏览阅读9.6k次,点赞3次,收藏14次。目录LOW:Medium:HighImpossibleLOW:源代码:&lt;?php// The page we wish to display$file = $_GET[ 'page' ];?&gt; 可以看到,low级别的代码对包含的文件没有进行任何的过滤!这导致我们可以进行包含任意的文件。当我们包含一个不存在的文件 haha.php ,看看会发生...

dll的生成与使用_复制dll文件可以直接硬吗-程序员宅基地

文章浏览阅读129次。原C++编程笔记:dll的生成与使用2016年06月29日 19:24:40 Elaine_Bao 阅读数:19567 标签: dll 动态链接库 def VC++ 更多个人分类: c++编程版权声明:本文为博主原创文章,转载请注明。 https://blog.csdn.net/elaine_bao/article/details/517848641.动态链接库(dll)概述没接触d..._复制dll文件可以直接硬吗

Azure Stack HCI COR版本集成GUI初体验_azure stack hci gui-程序员宅基地

文章浏览阅读763次。目前,uup网站已经泄露了server2022版本对标的下代ServerCore新产品,20348.1_amd64_zh-cn_serverazurestackhcicor。Azure Stack HCI 是一个新的超融合基础设施 (HCI) 操作系统,作为 Azure 服务提供,可提供最新的安全、性能和功能更新。使用现有工具、进程和技能集,在数据中心或边缘部署和运行 Windows 和 Linux 虚拟机 (VM)。使用 Azure 备份、Azure Monitor 和 Azure 安全中心将数据中心.._azure stack hci gui

Codeforces 734C. Anton and Making Potions_codeforces time assassin-程序员宅基地

文章浏览阅读329次。C. Anton and Making Potions time limit per test4 seconds memory limit per test256 megabytes inputstandard input outputstandard output Anton is playing a very interesting computer game, but now he_codeforces time assassin

redhat下yum命令安装(替换为centos yum命令)_redhat yum安装yum-4.2.17-6.el8.noarch-程序员宅基地

文章浏览阅读507次。redhat下yum命令安装(替换为centos yum命令)redhat默认自带的yum源需要注册,才能更新,报错:This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.可替换为centos对应的源。 操作如下:1.检查是..._redhat yum安装yum-4.2.17-6.el8.noarch

JavaWeb中请求转发和重定向的区别一篇就够了_java web重定向和请求转发区别-程序员宅基地

文章浏览阅读711次,点赞3次,收藏6次。标题_java web重定向和请求转发区别

随便推点

MathType输入矩阵和行列式的技巧_mathtype矩阵怎么加列-程序员宅基地

文章浏览阅读5.8k次,点赞7次,收藏14次。高等代数里,经常要使用到矩阵和行列式,尤其是在写论文时,如何编辑矩阵和行列式呢?比较好的方法就是使用专业的公式编辑器MathType进行编辑,下面就一起来学习具体的编辑技巧。具体步骤如下:步骤一 双击桌面上的快捷图标启动MathType,在软件主界面单击括号分隔符工具,如下图所示。MathType软件的主界面示例步骤二 接着单击第二行的矩阵模板,比如选择三行三列,如下图所示。在主界面选择矩阵模板示例步骤三 在矩形框里输入元素,结果如下图所示。那么行数和列数能否自定义,自由选择呢?_mathtype矩阵怎么加列

基于BeautifulSoup的Python3实战:四周实现爬虫系统笔记_beautifulsoup a. 清洗数据 b. 操作数据库 c. 数据可视化 d. 实现爬虫 e.-程序员宅基地

文章浏览阅读4.3k次。章节1 第零周:开始之前勤快写,多动手,不浮躁,坚持坚持坚持。-----慢慢来,做完美科学上网 好的IDE 工具 理解 模仿 实战画流程图,添加异常处理几种爬虫比较urllib+正则:无第三方依赖 requests+BeautifulSoup:library scrapy:框架从上往下抽象程度增加,方便程度增加。“路怎么走,自己选。”bs4官网基础知识tag中包含..._beautifulsoup a. 清洗数据 b. 操作数据库 c. 数据可视化 d. 实现爬虫 e. 解析网

Vue首屏加载提升_transpiledependencies: [ 'vuetify' ],-程序员宅基地

文章浏览阅读438次。开头在没有进行优化之前,我的网站加载js文件需要25s,这大大的降低了其他人访问我网站的兴趣,所以适当的优化是不可少的。优化点一压缩成gzip格式:安装插件npm install --save-dev compression-webpack-pluginvue.config.js配置插件const CompressionWebpackPlugin = require('compre..._transpiledependencies: [ 'vuetify' ],

解决response.addCookie()报错-程序员宅基地

文章浏览阅读1.7k次,点赞3次,收藏2次。解决response.addCookie()报错今天写cookie时遇到错误java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie value一个不识别的字符[32]出现在了cookie当中由于tomcat的版本比较高,所以在addCookie时是不能使用空格的 而在A...

Mysql 事务 锁表 锁行-程序员宅基地

文章浏览阅读708次。Mysql 事务 锁表 锁行1、事务隔离级别为读提交时,写数据只会锁住相应的行2、事务隔离级别为可重复读时(Mysql 默认),如果检索条件有索引(包括主键索引)的时候,默认加锁方式是next-key 锁;如果检索条件没有索引,更新数据时会锁住整张表。一个间隙被事务加了锁,其他事务是...

使用GPG加密通讯,设置git提交验证密钥_end pgp message-程序员宅基地

文章浏览阅读880次。使用命令行创建 GPG 密钥使用以下 shell 命令:gpg2 --full-gen-key此命令生成由公钥和私钥组成的密钥对。其他人使用您的公钥来验证和/或解密您的通信。分发您的公共密钥尽可能广泛地,尤其是你知道将要收到你正宗的通信,如邮件列表谁的人。例如,Fedora 文档项目要求参与者在他们的自我介绍中包含一个 GPG 公钥。一系列提示将指导您完成整个过程。如果需要,按Enter键分配默认值。第一个提示要求您选择您喜欢的键类型:请选择您想要的密钥类型: (1) RSA 和 RSA(_end pgp message

推荐文章

热门文章

相关标签