最近,我搜索了int
,long int
,long
,...等之间的差异。我从here得到了答案。我发现long
和long int
是相同的。所以陈述
c = a *long(b);
和
c = a * long int (b)
在程序中应该相同
int main()
{
int a = 10, b = 20;
long int c;
c = a *long(b);
cout << c;
return 0;
}
但第二个陈述显示错误
[错误]预期在长期&#39;之前的主要表达式
所以我只想知道,如果long
和long int
相同,那么为什么上述两个陈述中出现错误?
答案 0 :(得分:7)
仅仅因为它们属于同一类型并不意味着您可以直接在源代码中交换字符。
当T()
有空格时,语法会被T
强制转换混淆。
改为写c = a * (long int)b
。
答案 1 :(得分:0)
Use brackets for this. eg.
c = a * (long int) (b)
As type casted data type have multi-words.