重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
A是先取函数f返回的内存单元(参数是i即i的地址)中存储的值,并作更改(改为6)
创新互联2013年开创至今,是专业互联网技术服务公司,拥有项目成都网站建设、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元沁县做网站,已为上家服务,为沁县各地企业和个人服务,联系电话:028-86922220
B项 i+6 是算术表达式,不能直接取地址,必须使用变量保存才能取地址
C项 是定义一个指向整型的指针p,并赋值为函数f的返回值(该函数返回一个指针,也就是内存地址)
D项 直接以i为参数执行函数f,返回值不起任何作用
函数说明中需要提供两个指针做为参数
变量x和y的地址(指针)的求法就是在变量名前面加运算符号得到
*x和*y是将变量x和y中存放的数当成地址(指针)来取得指向单元的数值,这个与题目不符,另外由于x和y并不是指针变量,*x和*y的使用无法通过编译
调用函数格式为
函数名(变量1,变量2;...)
根据fun函数定义,调用格式为fun(x,n)。
A中,变量x,y,重复定义了
C中,fun没有返回值,无法赋值给k
D中,调用时不需要再定义返回值了。
虽然我不太懂指针,但都看懂了
函数ss(char *s)的作用是求字符串s的长度
char *p=s;//将字符串s的首地址赋给指针p
while(*p)p++;//当p指向的地址未结束时,p指向下一个地址,当循环结束时,p指向的是字符串s的末地址加1
return(p-s);//返回末地址减去首地址的值,就是返回字符串s的长度
所以整个程序就是输出字符串s的长度