关于scanf遇到空格继续输入字符串的方法

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:21   2510   0

我们用scanf()函数输入一个带空格的字符串函数时,经常会在第一个空格时就停止输入。

下面有两种方法可以完整输入字符串

1)利用strcat()函数来实现带空格字符串的输入,可以用字符串追加函数strcat()来连接每个单词。

Strcat()一般格式:char*strcat(char*dest,const char*src);

函数将字符串src连接到dest的尾端,并返回字符串dest的首指针。

#include “stdio.h”

#include “string.h”

#include “conio.h”

void main()

{

char *str,*s1,*s2;

clrscr(); / /清屏
scanf(“%s”,str); //输入字符串
scanf(“%s”,s1); //此后两个输入语句不需要用户进行输入

scanf(“%s”,s2);
strcat(str,“”); //连接一个空格

strcat(str,s1); //连接单词

strcat(str,””); //连接一个空格

strcat(str,s2); //连接字符串
printf(“\n%s”,str); //输出字符串str

}

2)利用格式符“%[]”它的作用为扫描字符集合。

Scanf(“%[^c]”,str);
其中“c”是一个具体的字符常量(包括控制字符)。

当输入字符串时,字符“c”将被当作当前输入的结束符。

如同默认情况下空格和回车键以及TAB键是作为字符串输入的结束符一样,利用此格式符便相当于由编程者自己指定一个输入结束符。

#include”stdio.h”

#include “conio.h”

void main()

{
char *str;

clrscr();
scanf(“%[^\n]”,str); //以换行符作为字符串输入的结束

printf(“\n%s”,str);

}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP