十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
首先函数返回一个指针类型即返回地址。
创新互联主营郊区网站建设的网络公司,主营网站建设方案,app软件开发,郊区h5微信小程序开发搭建,郊区网站营销推广欢迎郊区等地区企业咨询
例:
int * func(void)
{
int a= 10;
int *p = a;
return p;
}
所有C函数,只要其有返回值,都是由寄存器Ax(对于32位而言为EAX,如果AX不足以容纳,则由DX保存超过AX容量的部分)保存的(也可能是值,也可能是某一地址,视返回类型而定)。
上面这个C函数程序,计算(xy?x:y);后,该值就存在AX(EAX)中,当你在其他函数中调用该函数
后,比如
a=max(m,n);后,其实就是进入max()完成后,函数返时将计算结果存放在AX中,执行这个语句后,即就将AX的值传给了a.
其实,这也很容易验证:
在调用
a=max(m,n);
紧接着输入以下语句(注意:这中间绝对不能有其他任何函数调用和语句):
b=_AX;
printf("a=%d,b=%d",a,b);
你就可能发现,a=和b=一定是同一个值。
#includestdio.h
void string_cut(char s[],char c)
{int i,j;
for(i=j=0;s[i];i++)
if(s[i]!=c)s[j++]=s[i];
s[j]='\0';
}
int main()
{char s[200],ch;
gets(s);
scanf("%c",ch);
string_cut(s,ch);
printf("%s\n",s);
return 0;
}