在C中,要将字符转换为整数,必须进行类型转换

时间:2017-06-03 06:38:59

标签: c typecast-operator

在C中,当我们最终要从数字字符中减去字符0以获得整数中的等效数字时,是否有必要将字符强制转换为整数?

以下示例的目的是将字符5转换为整数中的等效数字。

<IconTabBar id="idIconTabBar" select="handleIconTabBarSelect" 
    class="sapUiResponsiveContentPadding" stretchContentHeight="true">
    <items>
        <IconTabFilter  text="Split Container">
          <SplitContainer id="SplitContDemo">
            <detailPages>
              <Button text="Detailed Button" />
            </detailPages>
            <masterPages>
              <Button text="Master Button" />
            </masterPages>
          </SplitContainer>
        </IconTabFilter>
    <items>
</IconTabBar>

```python for x in my_list: print(x) ``` 这里通过从字符5中减去字符0得到的字符结果的十进制值将等同于字符5.

char a = '5'; 这里,即使在进行类型转换后,字符5的十进制值也会被分配。

那么在对其操作数没有影响的情况下进行类型转换有什么意义呢?

2 个答案:

答案 0 :(得分:1)

  

那么当它对操作数没有影响时,做什么才能做出类型转换?

可读性代码(或与C programming language中指定的n1570的一致性。)

BTW,大多数类型转换都没有被optimizing compiler翻译成任何机器代码。

答案 1 :(得分:1)

转换可以是隐式的(精度不会丢失)

push()

或明确

int x = a;

更确切地说,它是整数提升,并且在操作之前完成

int x = (int)a;

在C'0'中,字符文字已经是int,而在C ++中,它是一个char。