加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C11隐式转换字符,x%y

发布时间:2020-12-16 10:07:01 所属栏目:百科 来源:网络整理
导读:在C11中, char foo(char x,char y) { return x % y;} 是否在任何地方进行了隐式转换(例如,提升为int)? 解决方法 通常的算术转换适用于%的操作数,它们适用于其他乘法和加法运算符的操作数(参见 6.5.5 Multiplicative operators ). 操作数被提升为int或unsig
在C11中,

char foo(char x,char y) {
    return x % y;
}

是否在任何地方进行了隐式转换(例如,提升为int)?

解决方法

通常的算术转换适用于%的操作数,它们适用于其他乘法和加法运算符的操作数(参见 6.5.5 Multiplicative operators).

操作数被提升为int或unsigned int,具体取决于平台上char类型的范围(参见6.3.1.8 Usual arithmetic conversions6.3.1.1 Boolean,characters,and integers)

在大多数现实生活平台上,操作数将被提升为int,因为int的范围通常涵盖整个char范围.在一个或多或少的异国平台上,sizeof(char)== sizeof(int)和char是无符号类型(暗示char的范围不适合int的范围),它们将被提升为unsigned int.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读