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

2025-03-04 22:05:38
推荐回答(4个)
回答1:

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

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

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

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


扩展资料:

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

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

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

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

回答2:

字符串是以 '\0'结束的 当 指针 s指向最后一个 即是 '\0'是 *s='\0' 也等于 0 即是假的 结束循环

回答3:

除了0以外的所有字符和数字都是1;
字符串的结尾是'\0',也就是0
while(*s)意思就是字符串输出完就结束循环

回答4:

*s指向字符串中所对应的字符,一开始指向A,当循环里面s++时,*s指向B,依次类推,当指向字符串的结束符'\0'时,循环结束