第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

void fn()這個函數(shù)里不是規(guī)定了函數(shù)返回值為void了么?為何在for中,卻能用這個沒有返回值的void函數(shù)繼續(xù)循環(huán)運算下去,他是怎么儲存的?

#include <stdio.h>

void fn()

{

? ? static int x = 1; ? //定義靜態(tài)局部變量

? ? x*=2;

? ? printf("x=%d\n",x); ? ??

}


int main()

{

? ? int i;

? ? for(i=0;i<5;i++)

? ? {

? ? ? ? fn();

? ? }

? ? extern int x; ? ? ?//調用外部變量

? ? printf("x=%d\n",x);

? ? return 0;

}

int x=100;

想不明白,明明這個函數(shù)為無返回型void函數(shù),為何會有返回值供for判斷語句循環(huán)?

正在回答

3 回答

for循環(huán)判斷的是括號中第一個分號后面的表達式,也就是for(i=0;i<5;i++)中的 i<5。這與循環(huán)體中的內容沒有關系。

0 回復 有任何疑惑可以回復我~

根據(jù)你題目的意思,for循環(huán)必定循環(huán)5次,這是與其中的內容無關的,因為循環(huán)結束的判定條件是i<5。

而循環(huán)的內容就是調用fn這個函數(shù),這個函數(shù)呢是void,所以是沒有返回值的,所以這樣寫↓是會報錯誤的(略微加了點東西,看循環(huán)里面)

#include?<stdio.h>
#include?<stdlib.h>
void?fn()
{
????static?int?i=0;
????printf("%d\n",i++);
}
int?main()
{
????int?i;
????int?wrong;
????for(i?=?0;?i?<?5;?i++)
????{
????????wrong=fn();
????}
????return?0;
}

大概明白了嗎?函數(shù)的void與否與循環(huán)沒有一丁點關系。至于儲存與一般的函數(shù)相同,具體的你想知道嗎?得用匯編的知識了。。。

0 回復 有任何疑惑可以回復我~

這是在for循環(huán)里不斷調用fn而已 , void是指沒返回值 , 如果不是void 就可能有 a=fn();

0 回復 有任何疑惑可以回復我~
#1

我愛電腦與體育 提問者

不懂,a是?舉個例子?
2015-01-31 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

void fn()這個函數(shù)里不是規(guī)定了函數(shù)返回值為void了么?為何在for中,卻能用這個沒有返回值的void函數(shù)繼續(xù)循環(huán)運算下去,他是怎么儲存的?

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號