问题笔记

关于类型


  • CodeBlocks使用mingw编译器,long long类型输出表示为"%I64d",且__int64合法;

  • EOJ使用的似乎是g++的linux版本编译器,long long类型输出表示为"%lld",且__int64不合法。

  • long double类型是合法的,但是在mingw编译器中不能格式化输入/输出。"%llf","%Lf"这些都不行。

关于ILE


Idleness Limit Exceeded 常见于交互题。
在使用多个输出函数连续输出时,有可能产生输出错误,因为在上一个数据还在输出缓冲区中时,下一个printf就把另一个数据加入输出缓冲区,冲掉了原来的数据,造成输出错误。

解决方案:
1. 在printf后加上fflush(stdout);
2. 使用cout<<endl输出似乎效果等同?

关于其它注意事项


  • 变量/数组的初始化
  • scanf后回车符的吸收
  • gets的不安全性
  • getline 多次使用注意添加str = "\n"; getline(cin, str);
  • EOJ编译器对getchar(); ... gets();的支持似乎不太好?
  • 经常把==写成=…
  • 尽量避免使用非c标准库函数,如itoa, strlwr, strupr之类
  • RTE主要原因:数组越界、指针越界、除以0、栈溢出……
  • 逐步补充……
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值