标题:gets和puts函数问题
只看楼主
qwe885167759
Rank: 4
等 级:业余侠客
威 望:5
帖 子:148
专家分:259
注 册:2013-3-12
结帖率:72.22%
已结贴  问题点数:20 回复次数:5 
gets和puts函数问题
各位亲们:  指导一下这个程序为啥是这个结果,谢谢!



#include <stdio.h>
void main ()
{int i;
char a[3][3];
for (i=0;i<3;i++)
gets(a[i]);
for (i=0;i<3;i++)
puts(a[i]);
}[local]1[/local]
搜索更多相关主题的帖子: void include 
2013-03-19 22:17
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
得分:8 
你想要什么结果?gets()读入什么和puts()函数输出什么你看明白了吗?get()函数会读入字符串遇'\n'结束,并且舍弃'\n'。
puts 和 printf 的用法一样,puts()函数的作用与语句“printf("%s\n",s);的作用相同。注意:puts在输出字符串后回车符。
也就是,puts()函数遇'\0'输出'\n'。


[ 本帖最后由 shmilyflf 于 2013-3-19 23:25 编辑 ]
2013-03-19 23:08
wang25435
Rank: 2
等 级:论坛游民
帖 子:21
专家分:16
注 册:2013-3-10
得分:0 
结果呢
2013-03-20 18:18
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
得分:10 
gets接收止于\n,但字符数组存有限
puts打印止于\n,从行地址首地址到\n都打印
2013-03-20 18:31
X1AO
Rank: 3Rank: 3
来 自:北京邮电大学
等 级:论坛游侠
威 望:1
帖 子:52
专家分:123
注 册:2013-3-6
得分:2 
回复 2楼 shmilyflf
2L说的很对。

不要问我下课干什么,我陪瓜哥上厕所。
2013-03-21 09:08
qwe885167759
Rank: 4
等 级:业余侠客
威 望:5
帖 子:148
专家分:259
注 册:2013-3-12
得分:0 
二维数组的每一行结尾没有\0吗?
我输入的是:
***
 *
***
输出来的是:
*** * ***
 * ***
***
为什么呢?
我想要的结果是
***
 * ***
*** * ***

[ 本帖最后由 qwe885167759 于 2013-3-21 16:21 编辑 ]

我本楚狂人,凤歌笑孔丘
2013-03-21 16:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-401320-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.177222 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved