十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
当函数的形参为指针变量时,也就是你传递给函数的是一个变量的地址,那么你在函数里面也就是对地址中的变量的操作,所以,函数内部是可以改变实参的数值的。只有当你传递给函数的不是一个地址而是一个变量时,编译器才会把这个值复制到堆栈中,因为所有被调用的子函数的执行过程中,变量都是放在堆栈中进行的。
创新互联公司长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为德城企业提供专业的做网站、网站建设,德城网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
d中,函数返回的变量类型,如果为指针变量就可以返回地址了。任何一个变量都有地址,当然可以返回变量的地址了。
刚看到各位大侠都这么热心,早知道我就不回答了,⊙﹏⊙b汗。。。
哥们儿,忍了吧,我就认为这题目是多选,。但这是应试教育啊,为了你的考试,你还是按照出题人的答案来理解吧。等你工作中实际用到就知道这种无聊的题目完全是应付考试而已,再没别的用处。
答案选d。
函数fun的类型为:返回值为int,两个形参(int,int);
函数指针p的类型为fun函数类型的指针类型。
所以只需p = fun就好。
键盘输入的格式应和scanf()里的格式一样。如果输入是1 2 3的话就要选B(A可能也可以,不太确定,一般不用A那样写),是i=1,j=2,k=3 的话就要选D。
选B啊
sub函数中,if和else
if没有用大括号来标明
作用域
,return
1;这一句就属于单独的语句,走到这一步程序应该就返回了,下面的语句不会再执行
C、C、D、B、A
第一题:()的优先级大于,先算括号内的,j++值为1,整个表达式为真,则不必考虑后面的k++,程序直接跳到i++处继续执行~~~所以该题答案为C
第二题:输出x[0][2],x[1][1],x[2][0]答案为C
第三题:i初值为0,表达式为真,进入while循环,注意,程序执行到第一行时,i1值为真,continue跳到while循环继续执行,注意后面的被直接跳过了,所以i的值一直为初值0,程序陷入死循环,答案为D
第四题:同理,注意continue就可以了,两次外层循环,每次使x的值加4,答案为B
第五题:考查函数声明,注意函数声明跟函数的定义参数类型和返回值类型要完全一直,A中缺省的话,默认为int型,故错误。。。
这个函数参数表里定义了两个指针a和b,分别指向两个字符串。执行while(*a++==*b++);语句时,我们知道,这条语句会在里面的条件成立时一直循环,也就是说,直到条件不成立才会执行后面的if语句。通过指针的++,指针会不断向后移,指向字符串的下一个元素,这个你知道吧?当条件不成立,也就是*a处这个元素不等于*b指向的字符串对应的位置的元素时(a和b同时++,位置是对应的),还要注意,这里用的是后++,这个语句其实相当于*a==*b,a++,b++,在不等于之后指针仍然向后移一位,所以while结束时,指针指向不相等元素的后一个位置。
这些懂了,后面a-2其实就是不相等元素的前一个位置,if语句判断这个位置是否为空,不为空时,输出--a,这里是前--,先进行a--,再return a,而a--后a就指向不相等元素的位置。
还有哪里看不懂?