hualinux c 1.7 回学生党:没理清思路造成填写不对

很多学生当问题超纲的时候就会乱猜,没有回到原点理清思路。下面就是我回答学生的一个经典问题。

一、问题代码

上面是某位同位同鞋填写的空,发同只有最后一个对了,其它都不对

 

二、分析

通过上面的题目我们知道

需要输入一个字符串,然后分析它的长度。

C语句一般情况下是按顺序一句一句执行的。

第5行:首先定义一个k做循环变量,len为字符串长度

第6行:定义一个足够长的字符数组来存放字符串

第7行:初始化k的值为0

第8行:接着就开始循环这个字符数组了。。。

你循环数组之前,是不是要让用户输入字符串啊!那这个while循环中肯定是让用户输入字符的。而这位同学就直接写了,所以就直接 错了,这是不对的。有什么可以在while条件中让用户输入字符呢,getchar(),注解为:

C 库函数 int getchar(void) 从标准输入 stdin 获取一个字符(一个无符 字符)。这等同于 getc 带有 stdin 作为参数。

那么while条件应该怎么写呢/p>

循环从下标0起,逐个读整个字符并k进行加1,当读到是结束字符的时候就退出循环。

那11行应该怎么填写呢。。

先不理,按正常顺序,我们得到了k之后直接把k赋值给len就行了。

再回到11行,如果非要写的话,我把k也赋值给结束是不是也可以/p>

而这位同学就直接让用户输入,明显不对,让用户输入肯定要在while循环读取字符之前。

 

三、最终代码

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月2日
下一篇 2020年5月2日

相关推荐