c语言中如何输入带有空格的字符串?

c语言中如何输入带有空格的字符串?

问题描述:

很多初学c语言的小伙伴不知道如何输入带空格的字符串,scanf输入字符串时总是在空格处停止扫描。例如:我们用scanf("%s",str);输入 “I love you!” 字符串后,str输出却只有 “I” ,这并不是我们想要的。这是因为scanf扫描到 “I” 后面的空格,就认为对str的扫描结束(即空格没有被扫描),并舍弃后面的" love you!",只得到了 “I” 。

#include

#include

int main()

{

char a[1000];

int i,n;

scanf("%s",a);

n= strlen(a);

for(i=0;i

{

printf("%c",a[i]);

}

return 0;

}

提示:scanf输入字符串时总是在空格处停止扫描。其中%s输入字符串,%c输入单个字符。

解决方案:

方法一:

#include

#include

int main()

{

char a[1000];

int i,n;

scanf("%[^\n]",a);

n= strlen(a);

for(i=0;i

{

printf("%c",a[i]);

}

return 0;

}

提示:使用scanf("%[^\n]",a);进行输入,意思是一直输入直到用户使用换行为止。

方法二:

#include

#include

int main()

{

char a[1000];

gets(a);

puts(a);

return 0;

}

提示:使用gets(),puts();完成带空格的字符串的输入输出

方法三:

#include

int main(void)

{

char c;

while((c=getchar())!='\n')

printf("%c",c);

return 0;

}

相关推荐

再见美加墨?再见世界杯?巴西队辉煌落幕,1比7输球后跌入谷底
800欧元等于多少人民币
365app手机版官方

800欧元等于多少人民币

📅 10-03 👁️ 7163
发布信息必备利器:十款热门发帖软件推荐
beat365在线体育打不开

发布信息必备利器:十款热门发帖软件推荐

📅 08-04 👁️ 1493
魔域BOSS分布图-魔域BOSS分布坐标地点大全
365app手机版官方

魔域BOSS分布图-魔域BOSS分布坐标地点大全

📅 08-06 👁️ 1694
“潺”字是什麼意思?正确讀音、注音及書寫筆順詳解
365app手机版官方

“潺”字是什麼意思?正确讀音、注音及書寫筆順詳解

📅 08-10 👁️ 3386
无线接入点
365app手机版官方

无线接入点

📅 09-24 👁️ 2113
常见的Linux虚拟机有哪些
365app手机版官方

常见的Linux虚拟机有哪些

📅 09-07 👁️ 6461
珍爱网工资
365app手机版官方

珍爱网工资

📅 07-28 👁️ 6594
lol虚空英雄有哪些?(lol虚空英雄有哪些人物)
bt365体育网址

lol虚空英雄有哪些?(lol虚空英雄有哪些人物)

📅 09-27 👁️ 3501