今天洛谷刷题时,遇到了一个有点难的题很简单的小问题,然后看了题解,然后发现大佬用的这种signed main()

#include<bits/stdc++>
#define int long long
using namespace std;
signed main() {
return 0
}

大佬过了,当时的我不以为意,只是觉得用int来替换long long,小问题,没关注。

学着大佬思路用int main()过了一遍代码,然后我就妥妥地超时了。

这个时候才注意到signed main()和int  main()的区别:

于是在网上搜了一下原因:

首先,众所周知,c++的main函数有着严格的要求:

(根据最新的ANSI C++标准,主函数应该返回一个整型数值,返回这个值的目的是为了将程序的运行结果告知系统,比如程序是否正常结束,是否异常终止等等。一般地,如果返回0表示程序正常结束,返回其他值则表示程序异常终止。)

即必须以int/signed作main函数的类型

当然就是说我们定义主函数时,必须写"int main"或"signed main"!

这个signed是什么意思呢?

就是简单的signed int :有符号整型。

在定义 int为longlong后,int main表示返回一个longlong型,而非整型,所以此时只能用signed main 去返回一个整型。

最终,其实它俩没啥区别。

而为什么洛谷int main()报超时,而定义#define int long long 之后,signed  main()却没有报错,看了一些刷题大佬的说法,貌似可能也许是欺骗hack。

总之是投机取巧的小技巧!

如果有啥不对,欢迎指正!

关于signed main()不报超时与int main()报超时相关推荐

  1. 浅谈c/c++中main(),int main(),void main(),int main(void)四者之间的区别

    一.主函数也是函数 首先我们要了解C/C++中函数的定义,因为main函数也是函数,与其他函数的区别只是主函数是程序的主线而已,程序从它开始也在其中结束.一个函数由函数名.其前的类型标识符.其后小括号 ...

  2. int main() 与 void main()

    从大一入学刚接触C到现在已满7个月了,虽然刚开始就知道```int main```才是标准的写法,但一直没有深刻理解为什么不能用```void main```而必须使用```int main```. ...

  3. 学习指针后对int main(int argc, char *argv[]),“()“内部参数的详解(初学者不要怕,浅浅学过指针的就可以看懂)

    大二时,出学51单片机时,经常写程序然后烧录程序,免不了去借鉴一些大佬的代码,但有些代码的主函数在当时的我看起来很奇怪,因为那时学的少,所以时常不敢于借鉴.例如int main(int argc,ch ...

  4. 为什么是int main()而不是void main()

    这里写目录标题 C/C++ 小误区:void main() C C++ 关于void main 返回值的作用 那么 int main( int argc, char *argv[], char *en ...

  5. 关于int main( int argc, char* argv[] ) 中arg和argv参数理解

    在示例程序中经常可以看到argc和argv这两个参数 ,在调试代码过程中遇到main函数为int main( int argc, char* argv[] ) 这种类型时往往会报错,或者是运行起来了但 ...

  6. c语言中entern int x y,关于extern和int main()的结构有关问题

    关于extern和int main()的结构问题 本帖最后由 hashcat 于 2015-09-20 12:34:50 编辑 这是c实现md5加密的代码,报错部分是两处extern,其实也就是两处e ...

  7. 【C语言】报错In function main

    C语言报错 报错 --\MinGW64\x86_64-w64-mingw32\lib\libmingw32.a(lib64_libmingw32_a-crt0_c.o) In function 'ma ...

  8. C/C++中“int main()”和“int main(void)”的区别

        考虑main()的以下两个定义. int main() {/* */ return 0; }     和 int main(void) {/* */ return 0; }     有什么区别 ...

  9. int main(int argc,char *argv[]),主函数的参数问题

    主函数的参数 在VC++中,我们有时候看到一些程序的主函数是带有参数的,虽然我们经常用到VC++但是对主函数的参数并不是很理解: int main(int argc,char *argv[]) 对于里 ...

最新文章

  1. myeclipse中配置weblogic的开发环境
  2. 分库分表 vs NewSQL数据库
  3. pycharm禁用pytest
  4. ubuntu12.04 启动n卡独显方法
  5. 简单高效 测试MDaemon10.12的过程
  6. ICCV 2017 《Illuminating Pedestriant via Simultaneous Detection Segmentation》论文笔记
  7. PyTorch教程(一):张量数据类型
  8. OrderOnline——设计概述
  9. android官方wifidemo,Android应用开发:连接指定Wifi的Demo分享
  10. 以色列网络武器出口对象国从102个锐减至37个
  11. epoll浅析以及nio中的Selector
  12. struts2 国际化 cookie保存语言, 下次访问时显示当前设置的语言
  13. 【不知出处】危险的迷宫 网络流 费用流
  14. 《C++沉思录》学习笔记1
  15. 华为模拟器eNSP练习题 - Hybrid
  16. C语言|博客作业08
  17. 硬件-3-家庭联网常用设备
  18. HTML页面设计之导航栏
  19. 软件公司如何提升效能?研发团队的北极星指标
  20. PATA 题解 1002

热门文章

  1. 生存分析彭非_21世纪统计学系列教材 生存分析_11396967.pdf
  2. php 单词拼写检查,拼写检查 · phpstorm手册 · 看云
  3. CISSP-AIO-快速提示内容梳理
  4. Android将webp格式图片转换为png格式方法
  5. VS2019试用期结束怎么办
  6. 电脑快捷键大全详细-基础
  7. 炎炎夏日,自己做饭吃
  8. iphone解锁那点事 (一)
  9. 等保三级核心-应用安全
  10. NX二次开发-UFUN导入图框UF_PART_import