2011-03-19 00:28:14|?次阅读|上传:wustguangh【已有?条评论】发表评论
define 只是定义而已,在编择时只是简单代换X*X而已,并不经过算术法则的
a /= (k+m)*(k+m)/(k+m)*(k+m);
=>a /= (k+m)*1*(k+m);
=>a = a/9;
=>a = 1;
PS:经过本人验证,虽然结果一样,但是应该不是这样运算的,应该是a/=k+m*k+m/k+m*k+m;
因为SQR(k+m)/SQR(k+m)的值是7,而不是9。
---------------------------------------------------------------------
5.代码理解题
const 符号常量;
(1)const char *p
(2)char const *p
(3)char * const p
说明上面三种描述的区别:
如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。
(1)const char *p
一个指向char类型的const对象指针,p不是常量,我们可以修改p的值,使其指向不同的char,但是不能改变它指向非char对象,如:
const char *p; char c1='a'; char c2='b'; p=&c1;//ok p=&c2;//ok *p=c1;//error
(2)char const *p
(3)char * const p
这两个好象是一样的,此时*p可以修改,而p不能修改。