<分区>
很多书都说我们绝不能在算术和函数定义上浪费一点。我看到很多从 0 到 255 的小数被定义为 char 类型变量,甚至更大的正数被定义为 unsigned short int 类型。
为什么我们不使用 unsigned short int 或 char 类型来代替 int 来表示返回值?
我试过:
char main(){return 0;}
没关系。
<分区>
很多书都说我们绝不能在算术和函数定义上浪费一点。我看到很多从 0 到 255 的小数被定义为 char 类型变量,甚至更大的正数被定义为 unsigned short int 类型。
为什么我们不使用 unsigned short int 或 char 类型来代替 int 来表示返回值?
我试过:
char main(){return 0;}
没关系。
最佳答案
返回 short
甚至 char
而不是 int
几乎没有任何节省。在绝大多数 C 实现中,机器寄存器将用于保存返回值,返回 short
而不是 int
的唯一区别是该寄存器将保持未使用状态。 (顺便说一句,这也是为什么 main
返回 char
对你“有效”的原因,尽管标准不保证它会。)
实际上,返回 short
的唯一原因是当您有一个特定的算法时,该算法有不同的原因使用 short
而不是 int
,这不是很常见。
郑重声明,同样的事情也适用于函数参数。
关于c - 为什么我们不用一个短整型来表示一个返回值呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42990525/