上面的行是关于 C 语言中隐含的积分提升/转换,摘自 Mike Banahan 第 2.8.1.1 节(链接)的书。这是确切的段落:
C 不会以比 int 短的精度完成算术,因此几乎只要您在表达式中使用下面列出的对象之一,就会隐含这些转换。转换定义如下:
每当短整型或字符(或我们尚未遇到的位域或枚举类型)应用了积分提升时
以下是我对粗体部分的困惑。请清除这些:
虽然我很想把它当作微不足道的,然后继续前进,但我觉得得到一个适当的解释会更好。谢谢。
int
类型(根据 C 标准)不必大于短型
。int
只能“不比短”短
。例如,它们都可以是 16 位。在这种情况下,可能会有一个无法放入 int
的无符号短
值。
(维基百科关于C数据类型的页面非常有启发性。
我是斯威夫特的新人,现在尽我所能地学习这个。我写了得到参数的函数:数字和函数,它们与这个数字一起工作: 但是编译给出错误。当我试图改变论点时,比如
问题内容: 我想对成绩簿方法使用2D数组,其中包含学生姓名,然后是考试成绩。在课堂上,我有以下内容。 但是我得到一个错误int []无法转换为int。 问题答案: 你有: 但是是一个。数组维数必须为,因此不能用作数组维数(鉴于字面量是多少,我可以理解您对错误的困惑:它想要一个,但您给了它一个)。 从您的描述来看,我猜您的意思是: 哪里是你需要的,包含考试的次数。不过,只是一个猜测。
问题内容: 这里是编程的新手,并且我一直收到错误消息,“不兼容的类型,不能将int转换为int []”,问题是如果R1和R2的长度相等,则将它们加在一起,如果没有打印出一条信息,说明“数组的长度必须相同”,如果这很重要,则不知道我在哪里出错,将不胜感激任何帮助 问题答案: 您需要分配给数组元素,但是这样做做错了。
我正在解决一个问题,其中的任务是在用户提到的给定行输出pascal三角形的结果。 https://leetcode.com/problems/pascals-triangle-ii/ 我写了我的解决方案,其中有存储巨大阶乘结果的问题。 通过这些问题, 整数类型可以在C中存储哪些范围的值 长到无符号的字节数是多少? 并通过其他一些来源,我进行了以下更改,这给了我所需的结果。 由于“C”是int类型,
如何将字符串值转换为int?我正在获取。 结果应该类似于。
我知道,如果我们对字节值执行算术运算,那么隐式地将其提升为int值,结果将是int值,因此我们需要显式地将其转换为byte,以便将结果存储在byte变量中。但我想问- 从字节到int的转换是在声明它的时候发生的,还是在我们在算术运算中使用它的时候发生的?因为我使用的java反编译器在声明时将它从字节转换为int。所以,这是反编译器的问题还是真的是这样。 如果它真的发生在声明时,那么为什么存储超出字
问题内容: 我有一个返回int类型的函数。但是,我只有TAX枚举的值。 如何将TAX枚举值转换为整数? 问题答案: 您需要以某种方式使枚举公开,例如 (顺便说一句,我将名称更改为更常规和易读。) 这是 假设 您要在构造函数中分配值。如果这不是您想要的,则需要向我们提供更多信息。
问题内容: 我有一个表格,可以向Flask发送一个int值。但是,返回一个字符串。Flask为什么不给我一个整数? 我尝试将其强制转换为int,但是下面的路由返回了400或500错误。如何获得Flask中的int类型? 问题答案: HTTP表单数据是一个字符串,Flask不会收到有关客户端将每个值指定为哪种类型的任何信息。因此,它将所有值解析为字符串。 您可以调用以获取ID作为一个整数。如果该值不