扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
答案:
目前创新互联已为成百上千的企业提供了网站建设、域名、虚拟主机、网站运营、企业网站设计、光明网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
代码:
#includestdio.h
#includestdlib.h
double GV(double x);
int main ()
{
double v,r;
printf("请输入球半径r:\n");
scanf("%lf",r);
v= GV(r);
printf("球体的体积:%lf\n",v);
system("pause");
return 0;
}
double GV(double x)
{
double y;
y=4*3.1415*x*x*x/3;
return y;
}
1、\r在c语言中属于转义字符,首先它是一个字符,其次表现的形式是转义表达。因此用法和常规的字符常量用法一样。
比如下面的代码:
#include
int main()
{
printf("%c\n", '\r');
return 0;
}2、用于表示行末结束符,回车和换行在不同的系统有不同的表示方法:
\n:
UNIX
系统行末结束符
\n\r:
window
系统行末结束符
\r:
MAC
OS
系统行末结束符
因此,在使用的时候要注意C语言编写的程序所运行的系统平台。
其实是这样的,主调函数会继续执行被调函数之后的语句。
假设第一次执行travel,判断root!=NULL,则会第二次执行travel,此处是travel(root-l);。
第二次执行的travel语句肯定是要返回的,当它返回之后,继续执行第一次travel中的print_s(root-data);。
然后再执行第三次travel,此处是travel(root-r);。
每次travel函数在if条件满足,或者下层travel(root-r);返回之后,才会返回。
同理继续向下递推。
答案是18吧,调用函数 r=func((x--,y=x+y),y--);
里面的(x--,y=x+y)应该看成一个逗号表达式吧,首先执行x--,表达式值为6,执行后x的值为5,然后执行y=x+y,y=12,这个逗号表达式的值就是12,然后是y--,表达式的值为7,y的值就变成了6,然后执行
int func(int a,int b)
{ int c;
c=a+b;return c;
}
得到的值应该就是18吧。
#includestdio.h
#include stdlib.h
#include string.h
void replace_string(char *c, const char *p, const char *r);
int main()
{
char c[100] = "you are the best,you should word hard,and you will be success!";
char p[] = "you";
char r[] = "LGDDD";
replace_string(c, p, r);
printf("替换后:");
puts(c);
return 0;
}
void replace_string(char *c, const char *p, const char *r)
{
int i = 0, j = 0;
while (c[j] = c[i])
{
int len = strlen(c);
int len1 = strlen(p);
int len2 = strlen(r);
int m = i;
int n = 0;
for (; c[m] == p[n] p[n]; m++, n++);
if (p[n] != 0)
{
i++;
j++;
}
else
// i = i + strlen(p);
if (len2 len1)
{
int m1,n1;
for (m1 = len; m1 = i + strlen(p); m1--)
c[m1 + len2-len1] = c[m1];
// puts(c);
for (n1 = i, m1 = 0; m1 len2; m1++, n1++)
c[n1] = r[m1];
}
else if (len2 = len1)
{
int m1, n1;
for (m1 = i + len1 - len2, n1 = 0; n1 len2; n1++, m1++)
c[m1] = r[n1];
i = i + len1 - len2;
}
}
}
要将函数名作为参数,需要使用函数指针。
函数指针的定义格式为
ret_type (*var_name)(arg_list);
表示返回值为ret_type,参数列表为arg_list的函数指针var_name.
如
int (*p)(int,int);
表示返回值为int,参数为两个int型的函数指针p。
以函数指针作为形参,即可实现函数名作为参数,由另一个函数调用。
如
void func(int (*a)(int))
{
int r = 100l;
(*a)(r);
}
即可传入函数指针,并以r为参数,调用该指针指向的函数。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流