c语言fgets函数最后一个换行符怎么回事,我用fgets输入两个字符串,一个是pig big第二

c语言fgets函数最后一个换行符怎么回事,我用fgets输入两个字符串,一个是pigbig第二是pig,用strstr函数引入两个参数,显示第一个不包含第二个,用pri... c语言fgets函数最后一个换行符怎么回事,我用fgets输入两个字符串,一个是pig big第二是pig,用strstr函数引入两个参数,显示第一个不包含第二个,用printf输出这个两个字符串也没有换行,为什么将倒数第二个字符变成\0后就显示包含关系了???? 展开
 我来答
White_MouseYBZ
2016-01-22 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6504万
展开全部

用fgets输入的字符串,最后的'\n'是不被替换的,而是自动在'\n'后再加一个'\0'。所以第一个字符串的内容是pig big'\n''\0',第二个字符串的内容是pig'\n''\0'。用strstr在pig big'\n''\0'中找pig'\n''\0'的实质是在找pig'\n',自然pig big'\n''\0'中没有(因为其中的pig后面没有'\n')。你说的用“printf输出这个两个字符串也没有换行”恐怕不是事实,请看图片:

第一行第二行是输入,第三行第四行是输出。printf里并没有加换行符,但输出都有换行符。

追问
原来如此
感谢
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
2016-01-21 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6322万
展开全部
提供你完整的代码上来,帮你检查一下
更多追问追答
追问
去掉中间那个改成\0的就不行了
追答
猜想:可能是你的变量定义有问题! 
最好有代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式