关于signed main()不报超时与int main()报超时
今天洛谷刷题时,遇到了一个有点难的题很简单的小问题,然后看了题解,然后发现大佬用的这种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()报超时相关推荐
- 浅谈c/c++中main(),int main(),void main(),int main(void)四者之间的区别
一.主函数也是函数 首先我们要了解C/C++中函数的定义,因为main函数也是函数,与其他函数的区别只是主函数是程序的主线而已,程序从它开始也在其中结束.一个函数由函数名.其前的类型标识符.其后小括号 ...
- int main() 与 void main()
从大一入学刚接触C到现在已满7个月了,虽然刚开始就知道```int main```才是标准的写法,但一直没有深刻理解为什么不能用```void main```而必须使用```int main```. ...
- 学习指针后对int main(int argc, char *argv[]),“()“内部参数的详解(初学者不要怕,浅浅学过指针的就可以看懂)
大二时,出学51单片机时,经常写程序然后烧录程序,免不了去借鉴一些大佬的代码,但有些代码的主函数在当时的我看起来很奇怪,因为那时学的少,所以时常不敢于借鉴.例如int main(int argc,ch ...
- 为什么是int main()而不是void main()
这里写目录标题 C/C++ 小误区:void main() C C++ 关于void main 返回值的作用 那么 int main( int argc, char *argv[], char *en ...
- 关于int main( int argc, char* argv[] ) 中arg和argv参数理解
在示例程序中经常可以看到argc和argv这两个参数 ,在调试代码过程中遇到main函数为int main( int argc, char* argv[] ) 这种类型时往往会报错,或者是运行起来了但 ...
- c语言中entern int x y,关于extern和int main()的结构有关问题
关于extern和int main()的结构问题 本帖最后由 hashcat 于 2015-09-20 12:34:50 编辑 这是c实现md5加密的代码,报错部分是两处extern,其实也就是两处e ...
- 【C语言】报错In function main
C语言报错 报错 --\MinGW64\x86_64-w64-mingw32\lib\libmingw32.a(lib64_libmingw32_a-crt0_c.o) In function 'ma ...
- C/C++中“int main()”和“int main(void)”的区别
考虑main()的以下两个定义. int main() {/* */ return 0; } 和 int main(void) {/* */ return 0; } 有什么区别 ...
- int main(int argc,char *argv[]),主函数的参数问题
主函数的参数 在VC++中,我们有时候看到一些程序的主函数是带有参数的,虽然我们经常用到VC++但是对主函数的参数并不是很理解: int main(int argc,char *argv[]) 对于里 ...
最新文章
- myeclipse中配置weblogic的开发环境
- 分库分表 vs NewSQL数据库
- pycharm禁用pytest
- ubuntu12.04 启动n卡独显方法
- 简单高效 测试MDaemon10.12的过程
- ICCV 2017 《Illuminating Pedestriant via Simultaneous Detection Segmentation》论文笔记
- PyTorch教程(一):张量数据类型
- OrderOnline——设计概述
- android官方wifidemo,Android应用开发:连接指定Wifi的Demo分享
- 以色列网络武器出口对象国从102个锐减至37个
- epoll浅析以及nio中的Selector
- struts2 国际化 cookie保存语言, 下次访问时显示当前设置的语言
- 【不知出处】危险的迷宫 网络流 费用流
- 《C++沉思录》学习笔记1
- 华为模拟器eNSP练习题 - Hybrid
- C语言|博客作业08
- 硬件-3-家庭联网常用设备
- HTML页面设计之导航栏
- 软件公司如何提升效能?研发团队的北极星指标
- PATA 题解 1002