鱼C论坛

 找回密码
 立即注册

新手,对于一个问题的解决

热度 7已有 878 次阅读2013-11-9 21:15 |个人分类:学习过程

  本人新手,各方面水平有限。 看书的时候,特别是看别人程序代码的时候,一直跟着别人写好的注释去读,去理解别人写程序的意图。当拿掉别人的代码的时候,自己去写一个同样功能的函数确范难了。比如 这几天遇到一个这个问题。
   写一个输入任意字符出空格,换行,tab键除外,并返回输入的第一个字符。由于是新手,开始无处下手,后面才开始想应该会用到getchar函数,让后慢慢写,到后面测试的时候发现不对,输入一个字符的时候可以,正常运行,输入多个的时候就不对了,由于在主程序后面还要需要gets函数完成其他的功能,所以多输入的东西,对后面也会产生影响,去网上看了看需要用到fflush(stdin),由于还没学到那个地方,这个问题也用不到那个东西,所以继续使用普通的逻辑功能。刚开始用的是
   if((1 == scanf("%c",&ch)) && (ch != ' ') && (ch != '\011')){
          while (getchar() != '\n')
                  continue;
     }
    ...
   return ch;

当时用上面的代码时,会出现输入一个字母后进入了getchar键的enter键,产生错误的逻辑。
后来想了很久才想下面的方法:
   if((ch = getchar()) != '\n' && ch != ' ' && ch != '\011'){
           (char)kh = ch;
           while ((ch = getchar) != '\n')
                    continue;   
  }
  ....
  return kh;
后来才发现以前看得书中就有类似的代码,并且那本书中做了解释,学习方法每到位呀。
5

路过

雷人

握手
1

鲜花

鸡蛋

刚表态过的朋友 (6 人)

发表评论 评论 (3 个评论)

回复 zer0 2013-11-16 23:26
点->线->面->体 一步步得扎实!
回复 cainiao367 2013-11-17 10:29
zer0: 点->线->面->体 一步步得扎实!
点是我现在正在干的事情,线,面和体我不是很了解,我猜一下“体”是项目吗,那“线”和“面”分别代表什么呀,
回复 zer0 2013-11-17 21:23
点是知识点,知识点会练成一条逻辑链即线,面意指无数条逻辑链所构成一个平面的基础,体代表从二维到三维的抬升,可以这么按照你这么理解成一个项目吧!

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-4-2 04:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部