字符串的输入输出

目录

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长度相等,显然更小也是可以的。

  • 23
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值