永发信息网

怎么用除了gets()的函数读取带空格的输入

答案:2  悬赏:20  手机版
解决时间 2021-03-30 18:24
  • 提问者网友:嗝是迷路的屁
  • 2021-03-30 04:07
怎么用除了gets()的函数读取带空格的输入
最佳答案
  • 五星知识达人网友:执傲
  • 2021-03-30 05:32
canf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。

gets可以接收空格
scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能接收空格。

例1:

1
2
3
4
5
6
7
8

#include
main()
{
char ch1[10],ch2[10];
scanf("%s",ch1);
gets(ch2);
}
// 依次键入asd空格fg回车,asd空格fg回车,则ch1="asd\0",ch2="asd fg\0"。

例2:

1
2
3
4
5
6
7
8
9
10

#include
main()
{
char ch1[10],ch2[10],c1,c2;
scanf("%s",ch1);
c1=getchar();
gets(ch2);
c2=getchar();
}
// 依次键入asdfg回车,asdfg回车,则ch1="asdfg\0",c1='\n',ch2="asdfg\0",c2需输入。
全部回答
  • 1楼网友:琴狂剑也妄
  • 2021-03-30 06:28
这只是警告信息,不影响程序的编译 gets函数无法指定字符串的长度,因此可能会出现超过字符数组边界的问题,不建议使用 使用fgets fgets(content,max,stdin); 其中max是一个正整数,为字符串最大长度
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯