c语言gets()、puts()

#include "stdio.h"
void main()
{
char s[4][20];
int i;
scanf("%s%s",s[0],s[1]);
gets(s[2]);
gets(s[3]);
for(i=0;i<4;i++)
puts(s[i]);
}
当输入:
aa bb
cc dd
时,为什么输出的是:
aa
bb
cc dd

scanf函数 将空格视为一个字符串的结束 回车也是结束
而gets函数 将回车视为字符串结束
建议看 "程序这东西 第二版"
网上有这本书,轻松搞笑 愉快的学习程序
希望你看完之后 有很大收获。追问

那你的意思是是s[3]没有赋值啊

追答

y应该是空的吧

追问

哦,
puts(s[2]);输出的是回车啊,亲!

追答

没关系 C我很久没接触了
具体的 我给你推荐的书里面 有详细讨论,一看就明白了
相信我吧。
而且这本书 深度比你的学校教材要深入。

温馨提示:内容为网友见解,仅供参考
无其他回答

C语言中如何用 gets(),put()
gets()、puts()都是针对字符串类型处理的,传入的参数是char *型,或char[]型 gets()是输入字符串函数,puts()是字符串输出函数 例如:char *a;gets(a);或者:char a[10];gets(a);相当于:scanf("%s",a);输出函数:puts(a);相当于:printf("%s\\n",a);...

c语言gets()、puts()
scanf函数 将空格视为一个字符串的结束 回车也是结束 而gets函数 将回车视为字符串结束 建议看 "程序这东西 第二版"网上有这本书,轻松搞笑 愉快的学习程序 希望你看完之后 有很大收获。

c语言中,gets()和puts()函数与getchar()与putchar()函数有何区别?
puts()函数用来向标准输出设备(屏幕)写字符串并换行, 其调用格式为: puts(s);其中s为字符串变量(字符串数组名或字符串指针),puts()函数的作用与语printf("%s\\n", s)相同。gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符不属于这个字符串。其调用格式为: gets(s);s为字...

C语言中,gets()与puts()该怎么用,求高手举个例子
gets(s); \/\/输入一个字符串,最长80个字符,回车结束输入。puts(s); \/\/将输入的字符串显示到屏幕上。}

在C语言中如何实现用键盘输入一个字符串,并打印出来
在C语言中输入并打印字符串的编程方法如下:定义一个存放字符串的数组空间,比如为字符串分配100个数组空间。使用gets()函数获取键盘输入的字符串,输入格式为gets(定义的字符数组名)。使用puts()函数输出之前输入的字符串,输出格式为puts(定义的字符数组名)。运行程序后,成功实现输入字符串并原样在...

c语言 gets函数 puts函数
1.puts(字符数组):将一个字符串(以'\\0'结束的字符序列)输出到终端。由于printf函数可以输出字符串(%S),因此puts函数不常用。用puts函数可以输出的字符串可以包含转义字符!在输出时将字符串结束标志'\\0'转换成'\\n',即输出完字符串后换行。2.gets(字符数组):从终端输入一个字符串到字符数组...

C语言程序中gets和puts是什么意思
gets和scanf的思意有点像,可以是SCANF的变象,它们都是接收从键盘上输入的内容,只是二者之间接收数据时的规则不同,gets是用来专门接收输入的字符串数组,可以说是scanfr具体分类。gets接收字符数组名、字符指针或者字符数组元素的地址。puts就是从某一址开始,依次输出存储单元中的字符。

c语言中gets()和puts()是怎么判断字符串结束的? '\\0' '\\n' 空格_百度...
答案:'\\0'判断字符串是否结束的标志是结束符'\\0'C 语言中0有几个用途:1、它是一个数字量;2、在字符串中它是一个结束符('\\0'),它是地址指针所允许的最小值;3、在逻辑表达式中它表示假 puts()函数用来向标准输出设备(屏幕)输出字符串并换行,具体为:把字符串输出到标准输出设备,将'...

怎么定义一个字符串,并输入,输出。
1、puts()和gets()都是数组函数,输入或输出前要定义数组,一个简单的输入后再将输入的东西输出,puts()的输入和printf的输出是有一定的区别的,puts()遇到‘\\0'就终止,而用printf则不会这样。2、例如:char a[50];gets(a);puts(a);二、用scanf\/printf输入输出。1、scanf\/printf是C语言的...

请问在C语言中,gets()、strcmp()、strcpy()是不是只能用于字符一维数 ...
是的 如果要用于二维数组,需要取二维数组中的第一维。即 char a[100][100];gets(a[20]);这样可以。gets(a);理论上也能用,等效于a[0],但一些编译器会报错。 一般不这么写。

相似回答
大家正在搜