输入流和输出流以及编程思想

来源:互联网 发布:买车注意知乎 编辑:程序博客网 时间:2024/05/22 03:14

一个简单的scanf输入流的细节问题和printf的本质
对于任何一个接触过c的人,都会知道这个函数怎么用。可是不一定知道它本质是一个输入流。举个例子:scanf("%d%c%d",&x, &ch, &y);
在运行输入时候,必须和scanf格式一样,就是a+b,万万不可写成a + b,因为这里出现了字符‘+’,若全不是整形,则没有这种情况发生,因为编译器会自动寻找整形,比如123可以写成1  2     3,随意。
好,输入流讲过了,那么再说说输出流吧,在Linux下的shell下,man 3 printf后可以看到  int printf(const char *format, ...);它的格式是这样,所以printf(2);也可以打印出来,不过有些情况,会打印错误,所以最好用标准的格式化打印。
最后加一点,就是在编写程序的时候,先考虑主干,也就是先有整体的框架,只要框架对了,而且只有框架对了,在考虑实现的细节才有意义。对于一个大程序,必须分解,把各个程序的框架先写出来,再实现细节,比如数据结构,先用伪代码把它描述出来(在main里面搞定),在进行各个细节的实现(在各个fun里面),我用这种编程思想就轻松的实现了中缀表达式。