最近同事问我个问题,是关于硬件的:一个函数调用的时候写不写括号有什么差别。大抵意思我用如下代码表现出来。按照我的理解这个玩意(即代码中的GetNum函数)要不加括号那不就是相当于变量了,没定义不是要报错么。
后来想想不对,应该是这个表达式什么都不做,仅返回 fun 也就是函数的地址,对下面的程序而言非零即为真,程序依然可以执行不会报错。记录下备忘,记性老差了嘿嘿ie。
欢迎指正!!
#include <iostream>
using namespace std;
int m=0;
int GetNum()
{
return m;
}
void main()
{
int i;
if (GetNum())
{
cout<<"aaa"<<endl;
cin>>i;
}
cin>>i;
}