重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
f的返回值 为(y-x)*x
创新互联建站专业为企业提供石楼网站建设、石楼做网站、石楼网站设计、石楼网站制作等企业网站建设、网页设计与制作、石楼企业网站模板建站服务,十多年石楼做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
于是f(a,b) = f(3,4)=(4-3)*3=3
f(a,c)=f(3,5)=(5-3)*3=6
于是
d=f(f(a,b),f(a,c))=f(3,6)=(6-3)*3=9
输出d值为9
选B
#include stdio.h
#include string.h
void delete1(char s[],char t[])
{
int i,j,k;
int flag=0;
//一:代码缺陷
//增加判断。应该
if(!s || !t)
{
return;
}
if(strlen(s) strlen(t))
{
return;
}
for( i=j=0; s[i]!='\0';i++)
{
for( k=0; t[k]!='\0';k++)
{
if(s[i+k]==t[k]) flag=1;
else
{
flag=0;
break;
}
}
//二,逻辑错误
/*if(flag)
{
s[j++]=s[i+k];
i=i+k+1;
} */
//改成
if(flag)
{
strcpy(s[i], s[i + k]);
}
//if(!flag) s[j++]=s[i];
if(!flag) continue;
}
//s[j]='\0';
printf("%s\n",s);
}
main()
{
char str1[255],str2[255];
printf("please input the article:\n");
gets(str1);
printf("please input the words you want to delete:\n");
gets(str2);
delete1(str1,str2);
}
这是 C 语言 本身 特性 规定了 的。你只要记住 这点: 形参 必须用指针,这样才能把 通过 函数加工 后的 数值 带回来。通过函数 互换后 的a,b,才能被带回。
至于“为什么”,可以不去追究,它的理由 无非 是什么 地址啦,值啦之类,时间长了,自己会记混淆。
其它语言,例如 fortran 语言,不管形参是什么花样,都能带回。