C语言的零碎(一)

1.逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值(应用:for循环)

2.printf:屏显打印,标准输出

   sprintf:将格式化的数据写入字符串中,返回字符串的长度

   fprintf:int fprintf(FILE *stream,char *format,[argument]);以指定的格式将参数放到指定文件

              format:格式,stream:流指定的文件

  3.stdout, stdin, stderr:标准输出,标准输入和标准错误。

    stdout和stderr是不是同设备描述符。stdout是块设备,stderr则不是。对于块设备,只有当下面几种情况下才会被输入,1)遇到     回车,2)缓冲区满,3)flush被调用。而stderr则不会。(stdout是行缓冲的,他的输出会放在一个buffer里面,只有到换行的时候,才会输出到屏幕。而stderr是无缓冲的,会直接输出)但这两者都默认向屏幕输出。

int main(){
fprintf(stdout,"Hello ");
fprintf(stderr,"World!");
return0;
}

答案:World!Hello---stdout缓冲,等到新行来了才输出。

4.文件操作

C语言将计算机的输入输出设备都看作是文件。例如,键盘文件、屏幕文件等。ANSI C标准规定,在执行程序时系统先自动打开键盘、屏幕、错误三个文件。这三个文件的文件指针分别是:标准输入stdin、标准输出stdout和标准出错 stderr

返回错误EOF,或者文件结束EOF, feof()或ferror()来判断是到了文件结束,还是出现了一个出错。

5.printf的返回值是0,之前是输出字符串的个数

6.sizeof(i++) 

sizeof不是一个函数,是一个操作符,其求i++的类型的size,这是一件可以在程序运行前(编译时)完全的事情,不会改变后续i的值。

7.短路求值:对于(条件1 && 条件2),如果“条件1”是false,那“条件2”的表达式会被忽略了。对于(条件1 || 条件2),如果“条件1”为true,而“条件2”的表达式则被忽略了 

8.scanf("%[^r]",inputstr); ---遇到字符r结束

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值