答案:
目前創(chuàng)新互聯(lián)已為成百上千的企業(yè)提供了網(wǎng)站建設、域名、虛擬主機、網(wǎng)站運營、企業(yè)網(wǎng)站設計、光明網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
代碼:
#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語言中屬于轉(zhuǎn)義字符,首先它是一個字符,其次表現(xiàn)的形式是轉(zhuǎn)義表達。因此用法和常規(guī)的字符常量用法一樣。
比如下面的代碼:
#include
int main()
{
printf("%c\n", '\r');
return 0;
}2、用于表示行末結(jié)束符,回車和換行在不同的系統(tǒng)有不同的表示方法:
\n:
UNIX
系統(tǒng)行末結(jié)束符
\n\r:
window
系統(tǒng)行末結(jié)束符
\r:
MAC
OS
系統(tǒng)行末結(jié)束符
因此,在使用的時候要注意C語言編寫的程序所運行的系統(tǒng)平臺。
其實是這樣的,主調(diào)函數(shù)會繼續(xù)執(zhí)行被調(diào)函數(shù)之后的語句。
假設第一次執(zhí)行travel,判斷root!=NULL,則會第二次執(zhí)行travel,此處是travel(root-l);。
第二次執(zhí)行的travel語句肯定是要返回的,當它返回之后,繼續(xù)執(zhí)行第一次travel中的print_s(root-data);。
然后再執(zhí)行第三次travel,此處是travel(root-r);。
每次travel函數(shù)在if條件滿足,或者下層travel(root-r);返回之后,才會返回。
同理繼續(xù)向下遞推。
答案是18吧,調(diào)用函數(shù) r=func((x--,y=x+y),y--);
里面的(x--,y=x+y)應該看成一個逗號表達式吧,首先執(zhí)行x--,表達式值為6,執(zhí)行后x的值為5,然后執(zhí)行y=x+y,y=12,這個逗號表達式的值就是12,然后是y--,表達式的值為7,y的值就變成了6,然后執(zhí)行
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;
}
}
}
要將函數(shù)名作為參數(shù),需要使用函數(shù)指針。
函數(shù)指針的定義格式為
ret_type (*var_name)(arg_list);
表示返回值為ret_type,參數(shù)列表為arg_list的函數(shù)指針var_name.
如
int (*p)(int,int);
表示返回值為int,參數(shù)為兩個int型的函數(shù)指針p。
以函數(shù)指針作為形參,即可實現(xiàn)函數(shù)名作為參數(shù),由另一個函數(shù)調(diào)用。
如
void?func(int?(*a)(int))
{
int?r?=?100l;
(*a)(r);
}
即可傳入函數(shù)指針,并以r為參數(shù),調(diào)用該指針指向的函數(shù)。