请问while (*s)是什么意思

s指向了一个字符串,while不是成立或者等于1才继续循环吗,while(*s)是什么意思啊?S的字符串是ABCDEFG... s指向了一个字符串,while不是成立或者等于1才继续循环吗,while (*s)是什么意思啊?S的字符串是 ABCDEFG 展开
 我来答
当代教育科技知识库
高能答主

2019-10-21 · 擅长科技新能源相关技术,且研究历史文化。
当代教育科技知识库
采纳数:1829 获赞数:387278

向TA提问 私信TA
展开全部

while(*s)意思就是字符串输出完就结束循环。

它需要第二个参数来说明最大读入字符数,如果这个参数值为n, fgets()就会读取最多n-1 个字符 或者读完一个换行符为止,由这二者中最先满足的那个结束输入

如果fgets()读取到换行符,就会把它存到字符串里,而不是像gets() 那样丢弃换行符。它还需要第三个参数来说明读哪个文件,从键盘上读数据时,可以使用stdin作为该参数 如:fgets( name , Max ,stdin);

缺点:由于fgets()把 \n 也当做输入字符,所以输出时,每遇到 \n 就自动换行,可以用strchr() 来定位和删除换行符。


扩展资料:

字符串的输入分为两步:字符串存储空间的分配;利用输入函数来读入字符串。

当读入一个串时, 第一件要做的事情是分配一块空间来存放串。这意味着申请足够的存贮空间存放我们读入的无论多长的串。最简单的方法是在说明语句中包括明确的数组长度说明。

一旦已经为一个字符串申请了空间, 就可以读入这个字符串了。简单介绍C语言和C++语言的输入函数。

参考资料来源:百度百科-串输入输出

cheerfullchen
推荐于2017-11-25 · TA获得超过468个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:169万
展开全部
字符串是以 '\0'结束的 当 指针 s指向最后一个 即是 '\0'是 *s='\0' 也等于 0 即是假的 结束循环
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyq_107
2012-10-23 · TA获得超过899个赞
知道小有建树答主
回答量:440
采纳率:100%
帮助的人:461万
展开全部
除了0以外的所有字符和数字都是1;
字符串的结尾是'\0',也就是0
while(*s)意思就是字符串输出完就结束循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友678490853
2012-10-23 · TA获得超过1152个赞
知道小有建树答主
回答量:474
采纳率:0%
帮助的人:295万
展开全部
*s指向字符串中所对应的字符,一开始指向A,当循环里面s++时,*s指向B,依次类推,当指向字符串的结束符'\0'时,循环结束
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式