目录
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长度相等,显然更小也是可以的。
本文含有隐藏内容,请 开通VIP 后查看