zoukankan      html  css  js  c++  java
  • 不要将正常值和错误标志混在一起返回

    不要将正常值和错误标志混在一起返回。

    正常值用输出参数获得 ,而 错误标志用 return 语句返回。

    C标准库函数的设计者为什么要将 getchar声明为令人迷糊的 int 类型呢?

    他会那么傻吗?

    在正常情况下,getchar 的确返回单个字符。

    但如果 getchar 碰到文件结束标志或发 生读错误,它必须返回一个标志 EOF。

    为了区别于正常的字符,只好将 EOF 定义为负数 (通常为负 1)。

    因此函数 getchar 就成了 int 类型。

    我们在实际工作中,经常会碰到上述令人为难的问题。

    为了避免出现误解,我们应 该将正常值和错误标志分开。

    即:正常值用输出参数获得,而错误标志用 return 语句返 回。

    函数 getchar 可以改写成 BOOL GetChar(char *c); 虽然 gechar 比 GetChar 灵活,例如 putchar(getchar()); 但是如果 getchar 用错了, 它的灵活性又有什么用呢?

     1 #include <iostream>
     2 #include <stdlib.h>
     3 #include <math.h>
     4 
     5 //main()函数的定义
     6 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
     7 using namespace std;
     8 int main(int argc, char** argv) {
     9  double x;
    10 
    11     //循环输入数据计算对数
    12     do {
    13         cout<<"x=";
    14         cin>>x;
    15         if (x<=0) break;
    16         cout<<"log("<<x<<")="<<log(x)<<endl;
    17         cout<<"log10("<<x<<")="<<log10(x)<<endl;
    18     } while(1);
    19 }
  • 相关阅读:
    S5PV210开发板刷机(SD卡uboot、串口+USB-OTG刷机方法)
    S5PV210启动过程分析
    总结:ARM逻辑和高级C(朱老师物联网学习)
    C语言笔记(数组地址一些细节)
    shell脚本和常用命令
    ansible
    firewalld
    LAMP架构上线动态网站WordPress
    LNMP架构上线动态网站
    Tomcat集群 Nginx负载均衡 shell脚本实时监控Nginx
  • 原文地址:https://www.cnblogs.com/borter/p/9413583.html
Copyright © 2011-2022 走看看