作业帮 > 综合 > 作业

C语言的这两个表达式在运算时有区别吗?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/20 09:44:01
C语言的这两个表达式在运算时有区别吗?
假设i为int类型,n为long类型
式一:n=((long)i)*i;
式二:n=(long)i*i;
式一的目的显而易见,但是式二究竟是先将两个int类型的i相乘,结果截为int型,再转换成long型;还是说先把第一个i转换成long型,再和第二个i相乘,因而第二个i也被转换成long型,其结果也为long型,存入n中.
究竟是哪种情况?
这两个表达式的含义都是一样的.
(long)的优先级比*高.