1.为什么一定要返回int?
在很久以前main函数是可以返回void的,但是后来为了方便给调用该程序的检测程序提供返回状态,c++11规定默认要返回一个int型的0作为返回值代表程序正常退出
2.为什么使用`#define int long long int`之后可以使用signed作为返回值
首先要搞清楚signed是什么,有时候我们会使用到0-255之间的整数,我们可以想到char的范围是刚好的,但是沿着0两侧对等分布,表示不了127之后的数值,但是我们如果把符号位舍弃掉来拿表示数,就可以将你呢个表达的正数范围扩大一倍
如何将其表达的负数范围扩展到正数后面去呢?使用unsigned声明就好了。
那么signed呢?自然就是有符号数据类型修饰符号,声明该基础类型有符号位,和基础类型的默认定义相同。
这样在使用int宏定义防爆int的时候将main声明为signed也能防止默认返回类型被修改为long long而报错