大佬教程收集整理的这篇文章主要介绍了C中的括号是否会导致隐式演员?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我最后一次询问括号是否导致隐式转换(here)时,@ pmg足以指出“C中的任何内容都不在int下面”但是,那里的讨论是关于按位运算符,括号结果是只是分心.
介绍
下面,括号是主要的吸引力.或者,为了更无聊但更精确,我看到的唯一运算符是括号和赋值运算符.
At this reference about the C parentheses operator,我没有看到有关括号更改类型的任何内容(在类型转换语法之外,这不是这种情况).
同时,here’s a reference that reminds that there is automatic type conversion on assignment,但我认为这不会解释我将在这里描述的静态分析工具行为.
与前一个问题一样,“OK”表示静态分析工具没有警告隐式类型转换,“NOT OK”表示它确实存在.
int main(void) { unsigned int ui; int i; ui = (256U); // NOT OK (*) (1) i = (256U); // NOT OK (*) (2) i = 256; // OK i = 256U; // NOT OK ui = 256U; // OK (3) ui = 256; // NOT OK return(0); }
除了前两个,我能理解它们 – 括号的作用是什么?如果他们没有采取隐式类型转换的方式,那么我希望(1)没问题,(2)不行.如果他们对int小于int的类型进行自动类型提升,那么我希望(1)不正常,(2)没问题.但是这个工具说两者都不行.
这是一个静态分析工具错误,还是工具正确,我还需要了解C中隐式类型转换的其他内容?
(顺便说一句,我希望值256足够小,不会导致我的机器溢出……)
以上是大佬教程为你收集整理的C中的括号是否会导致隐式演员?全部内容,希望文章能够帮你解决C中的括号是否会导致隐式演员?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。