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 }
  • 相关阅读:
    Linux下支持mysql支持远程ip访问
    vscode显示php函数列表
    摘:关于php调用.net的web service 踩过的坑
    php接收json格式数据(text/xml)
    php查询快递信息
    php获取客户端ip
    PHP到浏览器的缓存机制
    soap缓存问题
    WordPress For SAE 移植
    使用 AWS CloudTrail 记录 IAM 和 AWS STS API 调用
  • 原文地址:https://www.cnblogs.com/borter/p/9413583.html
Copyright © 2011-2022 走看看