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

技术标签: 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

智能推荐

RHCE作业2-程序员宅基地

文章浏览阅读112次。1.server主机的主机名称为 ntp_server.example.com。2.client主机的主机名称为: client.example.com。3.server主机的时间为1984-11-11 11:11:11。4.用命令显示对于172.25.254.100主机的时间同步情况。2.server主机的IP为: 172.25.254.100。4.配置server主机的时间同步服务要求可以被所有人使用。3.同步172.25.254.100主机的时间到达本机。二.设定clinet主机要求如下。

Android 音频开发_安卓开发语音-程序员宅基地

文章浏览阅读2.2k次,点赞3次,收藏14次。Android音频开发在移动应用和娱乐领域有着广阔的前景。随着智能手机的普及和性能的提升,人们对音频功能和体验的需求也越来越高。_安卓开发语音

错误:caffe.so: undefined symbol: _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE解决方法-程序员宅基地

文章浏览阅读3.5k次。caffe编译成功后,在导入测试的时候,出现以下错误.在命令行输入:import caffe回车。出现以下错误.Traceback (most recent call last): File "&lt;stdin&gt;", line 1, in &lt;module&gt; File "/home/li.guangyao/Programming/caffe/python/caf...__zn5boost6python6detail11init_moduleer11pymoduledefpfvve

5-9 声明一个图书类_java书本数量-程序员宅基地

文章浏览阅读6.8k次,点赞5次,收藏22次。5-9 声明一个图书类,其数据成员为书名、编号(利用静态变量实现自动编号)、书价,并拥有静态数据成员册数、记录图书的册数,在构造方法中利用此静态变量为对象的编号赋值,在主方法中定义对象数组,并求出总册数。class Book{ private String name; private int id; private float price; private stat_java书本数量

通过WebRTC实现实时视频通信(一)_webrtc可以与摄像头对讲吗-程序员宅基地

文章浏览阅读3.2k次,点赞2次,收藏10次。WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla基金会、Opera支持下被包括进万维网联盟的W3C推荐标准。_webrtc可以与摄像头对讲吗

matlab多变量拟合regress,matlab多元与非线性回归即拟合问题regressnlinfit-程序员宅基地

文章浏览阅读2k次。matlab多元与非线性回归即拟合问题regressnlinfit 回归(拟合)自己的总结(20100728) 1:学三条命令:polyfit(x,y,n)---拟合成一元幂函数(一元多次) regress(y,x)----可以多元, nlinfit(x,y,’fun’,beta0) (可用于任何类型的函数,任意多元函数,应用范围最主,最万能的) 2:同一个问题,可能这三条命令都可以使用,但结果肯..._matlab双曲线拟合

随便推点

qemu模拟arm嵌入式环境_qemu-system-arm-程序员宅基地

文章浏览阅读2.7k次。文章目录一、安装qemu二、安装arm工具链三、下载编译内核四、制作根文件系统五、qemu 运行1、直接启动kernel2、通过uboot启动内核2.1 配置QEMU Tap网络2.2 安装配置tftp2.3 编译uImage2.4 编写启动脚本boot.sh3. 挂载 NFS 文件系统六、qemu 模拟机连接外网七、其他1、制作多分区镜像2、运行qemu一、安装qemu1、下载编译安装# wget https://download.qemu.org/qemu-4.2.0.tar.xz# tar x_qemu-system-arm

眼睛慢慢眯成一条线的人都是实力很强劲的,教你在Unity中通过BlendShape来实现角色面部表情过渡切换(Animation)-程序员宅基地

文章浏览阅读1w次,点赞79次,收藏171次。在Unity项目中,我们可能需要实现3D角色表情的过渡切换,本文介绍了通过BlendShape来实现表情过渡切换的功能。_blendshape

前端跨域携带cookie_前端请求携带cookie-程序员宅基地

文章浏览阅读4k次,点赞2次,收藏4次。前端需要跨域携带cookie_前端请求携带cookie

一、rip实验拓扑-程序员宅基地

文章浏览阅读741次,点赞21次,收藏18次。00 0000----192.168.1.128/26-----R1环回。10 0000----192.168.1.160/27-----L1环回。00 0000------192.168.1.192/26---R2环回。3、配置缺省路由,实现3.3.3.0/24互通,至此实现全网通,并测试。0 0000-----192.168.1.128/27----L0环回。2、配置RIP协议,宣告网段,除了3.3.3.0/24环回,,并测试。5、接口汇总,并防环,减少路由条目,测试,实现全网通。

animation.ArtistAnimation的天坑和报错【not enough image data】-程序员宅基地

文章浏览阅读1.5k次,点赞6次,收藏4次。1、plt.plot和plt.scatter的返回值不一样当对plt.scatter进行画动态gif图时,需要使用.findobj()比如im = plt.scatter(nix, niy, marker = "*",color = "b").findobj()ims.append(im)ani = animation.ArtistAnimation(fig, ims, interval=200, repeat_delay=1000) ani.save("test.gif", writer_not enough image data

【Python小工具系列】使用 Python 循环批量打开网页链接_python批量打开网址-程序员宅基地

文章浏览阅读1.3k次,点赞52次,收藏46次。欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。 欢迎订阅本专栏 。_python批量打开网址

推荐文章

热门文章

相关标签