zoukankan      html  css  js  c++  java
  • 编程过程中遇到的一些细节

    1.while(scanf("%d",&n)!=EOF)(程序中可以用while(cin>>d)代替)

    参考:http://blog.sina.com.cn/s/blog_5a2bbc860101c8f2.html

    scanf的返回值由后面的参数决定

    scanf("%d%d", &a, &b);

    如果a和b都被成功读入,那么scanf的返回值就是2

    如果只有a被成功读入,返回值为1

    如果a和b都未被成功读入,返回值为0

    如果遇到错误或遇到end of file,返回值为EOF。

    且返回值为int型.

    验证:

            sign=scanf("%d %d",&a,&b);         printf("%d %d ",a,b);         printf("%d ",sign);

    但是输入“a X”的时候 输出的sign为0

    什么时候输出EOF? 在stdio.h中宏定义为-1

    按照说明,scanf函数只有在第一个参数为NULL(空指针)的情况下,才可能返回EOF,否则,返回成功格式化并赋值的参数个数(>=0)。

    End Of File,在电脑的术语缩写通常为 EOF,在作业系统决定资料源无更多的资料可读取。

    int c; while ((c = getchar()) != EOF) {  
    putchar(c); } 但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF。 Linux中,在新的一行的开头,按下Ctrl-D,就代表EOF(如果在一行的中间按下Ctrl-D,则表示输出"标准输入"的缓存区,所以这时必须按两次Ctrl-D);Windows中,Ctrl-Z表示EOF。(顺便提一句,Linux中按下Ctrl-Z,表示将该进程中断,在后台挂起,用fg命令可以重新切回到前台;按下Ctrl-C表示终止该进程。) 那么,如果真的想输入Ctrl-D怎么办?这时必须先按下Ctrl-V,然后就可以输入Ctrl-D,系统就不会认为这是EOF信号。Ctrl-V表示按"字面含义"解读下一个输入,要是想按"字面含义"输入Ctrl-V,连续输入两次就行了 
    EOF 意思就是 end of file!!!! 你 按按CTRL+D试试
  • 相关阅读:
    适配器
    JAVA对list集合进行排序Collections.sort()
    ORACLE 日期加减操作
    将TIMESTAMP类型的差值转化为秒的方法
    Oracle 日期加减运算
    legend3---阿里云配置cdn服务
    legend3---阿里云添加 CNAME 记录提示和 A 记录冲突如何解决
    legend3---laravel将静态资源转移到阿里云oss
    legend3---laravel配置文件(自定义配置文件)
    laravel 自定义常量方法
  • 原文地址:https://www.cnblogs.com/believe-in-me/p/6612719.html
Copyright © 2011-2022 走看看