摘要:
a+++++b表示什么含义? 自己编译了一下,int main(){ int a = 0; int b = 0; int c = 0; c = a+++++b; printf (" a+++++b The result is %d",c); return 0;}error C2105: “++”需要左值。 网上查了一下,左值就是可以在"="左边,能被赋予值的东西;右值则是在"="右边,可以赋值给别人的东西。所以左值必须是有内存空间的东西;而右值则既可以是变量,也可是常量和某种表达式,只要能提供一个值即可。 为什么a+++++b会编译错 阅读全文
摘要:
(*(void(*)())0) (); 在《C陷阱与缺陷》中解释如下: float f,g; //表达式f、g的类型为浮点型 float ff(); //表达式ff()的求值结果为浮点型 float *pf; //表达式*pf是一个浮点数,pf是一个指向浮点数的指针 float *g(), (*h) (); // float *g() == float *(g()), g是一个函数,函数的返回类型为一个指向浮点数的指针,h是一个函数指针,h所指向的函数返回类型为浮点型。 float (*h) (); // 表示h是一个指向返回值为浮点类型的函数的指针。 (float... 阅读全文