你的input執(zhí)行之后,就判斷退出了的。
成都創(chuàng)新互聯(lián)公司,為您提供重慶網(wǎng)站建設(shè)、網(wǎng)站制作公司、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計,對服務(wù)履帶攪拌車等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗。成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報價服務(wù),我們深知市場的競爭激烈,認(rèn)真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
因為你的input函數(shù)的參數(shù)是TS, 是結(jié)構(gòu)體,而不是結(jié)構(gòu)體指針,因此,在input里面得到的結(jié)果,只是input里面局部變量的M這個結(jié)構(gòu)體得到了值,并沒有賦值給M1和M2,導(dǎo)致你那里判斷M1.n M2.m的時候,直接return 0了
不謝^-^
函數(shù)定義不可以嵌套的意思是:不可以在一個函數(shù)內(nèi)定義另一個函數(shù) 例如 void fun() { void fun1(){ } } 函數(shù)調(diào)用可以嵌套 ,函數(shù)調(diào)用只有 函數(shù)名和參數(shù) fun()這叫調(diào)用 例如 void fun() { fun1(); } 這樣是可以的
我給你從編譯器角度考慮下吧!1、首先局部變量的使用范圍只有在這個局部范圍類有效。2、函數(shù)是模塊化的思想。比如你有一個判斷一個數(shù)是否是素數(shù)的函數(shù)。那么你再求100以內(nèi)所有素數(shù)和的時候,main中會調(diào)用這個函數(shù)100次。這些函數(shù)編譯器在處理的時候都是放在一個堆棧的。而且每個函數(shù)都占有不同的地址和空間。(遞歸函數(shù)尤為明顯)。最關(guān)鍵的是,當(dāng)函數(shù)返回函數(shù)值后,函數(shù)的使命就結(jié)束了。所以這個函數(shù)體在呢內(nèi)存中就銷毀了。你即使能從函數(shù)中返回一個局部變量。你再去讀這個地址的時候。東西都不在了。3、還有一點。編譯器在分配函數(shù)的空間的時候,地址不是固定的。所以你每次運行程序,你會發(fā)現(xiàn)
int
a=3
printf(f"%d",a),不都是一樣的。所以你的問題很明了了。
可以在函數(shù)中聲明函數(shù)(嵌套聲明),但是不能在函數(shù)中定義函數(shù)(嵌套定義)。
p.s.:有些編譯器允許嵌套定義,但是最好不要嵌套定義,因為C標(biāo)準(zhǔn)規(guī)定不能嵌套定義。
在函數(shù)中(包括主函數(shù))不能定義和函數(shù)名相同的變量,一般情況下函數(shù)名的定義需要有實際意義,讓編程者能一看便知函數(shù)的功能(變量也是這樣),如果是需要多個單詞才能表達(dá)意思就使用下劃線連接兩個或多個單詞,或者直接寫在一起每個單詞首字母大寫,這樣定義主要是為了讓程序看起來更加簡潔明了,讓其他人能迅速了解程序功能,便于修改
網(wǎng)站題目:c語言函數(shù)不能,c語言函數(shù)不能被調(diào)用?
分享地址:http://www.rwnh.cn/article32/dssdspc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站設(shè)計、商城網(wǎng)站、定制開發(fā)、網(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)