你想問的是while能不能調(diào)用循環(huán)函數(shù)吧,是可以調(diào)用的。
在鹿城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),全網(wǎng)營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),鹿城網(wǎng)站建設(shè)費(fèi)用合理。
while 循環(huán):先判斷while 后面括號(hào)里的值,如果為真則執(zhí)行其后面的代碼;否則不執(zhí)行。while(1)表示死循環(huán)。
#include
int
func(int
i);
//函數(shù)的原型定義
int
main(void)
{
int
n;
float
y;
scanf_s("%d",n);
//n沒有被初始化,為任意值,此時(shí)是讀取一個(gè)值給n,刪去,直接給n初始化為5也可以
scanf_s是vs2013編譯器專用的,請(qǐng)自行改成scanf
y
=
func(n);
/*函數(shù)的調(diào)用*/
printf("%d!=%f",
n,
y);
/*for語句多余*/
return
0;
}
int
func(int
i)
{
int
sum=0;
if
((i
==
0)
||
(i
==
1))
sum
=
1;
else
sum
=
func(i-1)
*
i;
//
i的值沒有變化,一直都是讀入的值,不會(huì)終止遞歸。
return
sum;
}
一個(gè)函數(shù)只能有一個(gè)返回值,指針可以返回多個(gè),例如:
void aaa()
{
int *a,*c;
int a,c;
*a=a;*c=c;
a=b();c=b();
}
下面調(diào)用 *a和*c.
擴(kuò)展資料:
在C語言中,指針的使用非常廣泛,因?yàn)槭褂弥羔樛梢陨筛咝?、更緊湊的代碼。總的來說,使用指針有如下好處:
1、指針的使用使得不同區(qū)域的代碼可以輕易的共享內(nèi)存數(shù)據(jù),這樣可以使程序更為快速高效;
2、C語言中一些復(fù)雜的數(shù)據(jù)結(jié)構(gòu)往往需要使用指針來構(gòu)建,如鏈表、二叉樹等;
3、C語言是傳值調(diào)用,而有些操作傳值調(diào)用是無法完成的,如通過被調(diào)函數(shù)修改調(diào)用函數(shù)的對(duì)象,但是這種操作可以由指針來完成,而且并不違背傳值調(diào)用。
參考資料來源:百度百科-指針 (編程語言中的一個(gè)對(duì)象)
冒泡排序的循環(huán)寫法有問題,應(yīng)將:for (j=0; j=i; j++)
改為:for (j=0; j2-i; j++)
因?yàn)樵诘谝淮窝h(huán)中,不斷判斷相鄰兩數(shù),最終將最小數(shù)交換到最后,即a[2]的位置
在第二次循環(huán)中,再將a[2]之前數(shù)中的最小數(shù)交換到a[1]的位置,此時(shí)數(shù)組已降序排列
因此對(duì)于循環(huán)i(從0開始),每次都將a[0]~a[2-i]中的最小數(shù)交換到a[2-i]的位置
又判斷相鄰數(shù)用到了j+1,所以需要滿足j+1=2-i,即j=1-i,也可寫為j2-i
因此j從0開始,到1-i 結(jié)束,改為for (j=0; j2-i; j++)即可
修改后的代碼和運(yùn)行結(jié)果如下:
輸出正確,如果幫到你,望采納~
可以呀,遞歸調(diào)用,但要有終止條件。
比如求階乘
long fact(int n)
{
if (n==0) return 1;
else return n*fact(n-1);
}
沒有收到返回值的原因
#includestdio.h
int
fun
(int
lim,int
aa[10])
{
int
i,j,k=0;
for(i=2;i=lim;i++)
{
for(j=2;ji;j++)
if(i%j==0)
break;
if(j=i)
aa[k++]=i;
}
return
k;
}
main
(
)
{
int
aa[10];
int
lim=10,k=0;
k=fun(lim,aa);//就是這里,要把函數(shù)返回值賦值給k,才行,主函數(shù)的k和fun函數(shù)的k是完全兩個(gè)東西
printf("%d\n",k);
}