c=int(a+b)为什么格式不对?

2026年09月19日 20:10
有3个网友回答
网友(1):

这个答案有点问题的,在传统的C里面这句是错的,应该写成
c=(int)(a+b);
就是强制类型转换要括号
但是C99也就是现在的C语言标准里面,这个是对的。

网友(2):

c
=
int(a
+
b);
c定义了吗?
如果定义了,就没有错
而且c是一个int

也可以写成
c
=
(int
)(a
+
b)
c++中代表
把a
+
b的值强转为int类型
赋值给c;

网友(3):

对C是错的,对C++是对的。
以C++类OBJECT的观点来看:以a+b为参数,调用复制构造函数int(int)构造一个整数对像,然后再将这个整数对像的值通过赋值给c。
试下强制转换:
c=(int)(a+b)