for語句后加分號就是表示執(zhí)行for中的語句,不執(zhí)行其他,也就是不帶循環(huán)體語句

成都創(chuàng)新互聯(lián)公司從2013年開始,先為花垣等服務(wù)建站,花垣等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為花垣企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
int?i,?j=0;
for(i=0;?i5;?i++)??//?帶循環(huán)體的for循環(huán)
{??//?{}括起來的就是循環(huán)體語句
j++;
}
for(i=10;?i0;?i--);??//?不帶循環(huán)體的for循環(huán)
//?執(zhí)行過程如下如下(也就是for后帶分號的意思)
//?當(dāng)i=10時,i0成立,則i=i-1=9;之后當(dāng)i=9時,i0成立,則i=i-1=8,一直執(zhí)行下去,當(dāng)i=0時跳出for循環(huán)
首先說下分號吧,其實分號挺簡單的,它就表示著一個語句的結(jié)束,
就像平時我們語文中說完一句話加上個句號,
C語言中說完一句話后面加上個分號;
比如
printf("hello,world\n");
說完一句話加上個分號告訴計算機你說完這句話了
再來說下逗號,
這就樣提到逗號表達式了,
比如
a=(4,6)
這個表達式它的值就是6
,為什么呢?
先看括號里的(4,6)
因為有了逗號存在形成一個逗號表達式,整個表達式的值取的是
逗號后面的值,因此是6
然后把6賦值給a
最終整個表達式的值就是6了
。
在逗號表達式中我認為只要記住了
取值取逗號后邊的那個值就可以了。
再拿個經(jīng)典點的說下
while(i10)
sum+=i;
這一小斷程序
當(dāng)然我初始化sum值為0;
對于它我們可以改寫成更簡單的
就用逗號實現(xiàn):
while(sum+=i,i10)
;
這樣一句話就實現(xiàn)了,它的過程就是先做WHILE里面的
sum+=i
然后括號內(nèi)的整體是一個逗號表達式,整個表達式的值取逗號后邊的
i10
這樣前面的話也做了,最終也達到了我們的目的。
但注意此句話最后邊忘了那個分號!
表示語句的結(jié)束。
函數(shù)是聲明的時候不要加{},而是;
而函數(shù)定義的時候是{},后面就不需要;了
但是struct就不同了 既需要{},又需要;
如果for括號內(nèi)只有一個分號,那是語法錯誤,肯定不能通過編譯的,又何來執(zhí)行。
但如果for括號內(nèi)有兩個分號,這樣的for同時省略了表達式1、表達式2、表達式3,是可以通過編譯的。且這樣的for循環(huán)是無限循環(huán),要退出這樣的循環(huán),可以用break語句或return語句。
下面舉幾個例子:
求1到100的累加和
int i=1,s=0;
for(;;)
{
s+=i;
if(i==100)
break;
i++;
}
//用函數(shù)求所有輸入的非負數(shù)的和
int sum()
{
int s=0,t;
for(;;)
{
scanf("%d",t);
if(t0)
return s;
s+=t;
}
}
表示這個循環(huán)沒有初始化,沒有條件判斷,沒有標(biāo)志變量的變化
它是一個死循環(huán)
這樣的循環(huán)其循環(huán)體內(nèi)必須有跳出循環(huán)的語句,否則就沒法正常退出了
調(diào)用函數(shù)后面當(dāng)然要加分號
定義函數(shù)后面不用加分號,加上分號也沒有任何作用
分享文章:c語言函數(shù)括號里用分號,c語言for括號內(nèi)逗號分號
本文URL:http://chinadenli.net/article44/hsiihe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站導(dǎo)航、動態(tài)網(wǎng)站、微信公眾號、網(wǎng)站維護、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)