怎么用除了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需输入。
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是一个正整数,为字符串最大长度
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯