c語言中的block

//block塊(數(shù)據(jù)類型) 封裝的一段具有特定功能的代碼段

//函數(shù)有函數(shù)名,block沒有名字,也可以叫做匿名函數(shù);函數(shù)不能做參數(shù)傳遞,block可以作為參數(shù)傳遞;

//形式:

/* 返回值類型,(^ block變量名)(參數(shù)列表)=^(參數(shù)列表){? ? 代碼段? ? return(如果) } */

//調(diào)用

//block變量名

//return(如果返回值類型不是void,就將返回值return出去)

//diyBlock是給int(^)(int a,int b)這種block類型定義的一個新名字,以后我們使用divBlock就表示int(^)(int a,int b)這個類型

typedefint(^divBlock)(inta,intb) ;

#import

intmain(intargc,constchar* argv[]) {

@autoreleasepool{

}

}

//定義一個block#importvoid demo0();

void demo4();

//void demo1();

int main(int argc, const char * argv[]) {

@autoreleasepool {

//? ? ? 無參無返的block

//? ? ? ? 調(diào)用一個block

//demo0();

//demo1();

demo4();

}

return 0;

}

//wucanwufan

//? ? ? 寫一個block ,用for循環(huán),打印三遍Hello Word

void demo0(){

void (^hi)() = ^(){

for(int i = 0; i <= 3; i++){

NSLog(@"Hello Word!\n");

}

};

hi();

}

//這是一個有參無返的block;

/*

void (^block名)(參數(shù)列表)= ^(參數(shù)列表)

*/

//? ? ? ? 定義一個block,用for循環(huán)打印三次hello word,n,用鍵盤該輸入

void demo1(){

void (^daying)(int n) = ^(int n){

for(int i = 0; i <= n; i++){

printf("Hello Word!\n");

}

};

int n;

printf("請輸入n\n");

scanf("%d",&n);

daying(n);

}

//無參有返的block

/*

返回值類型(^block名)() = ^(){}

*/

void demo3(){

//? ? ? 無參有返

int (^peopleCount)() = ^(){

return 28;

};

//? ? ? ? bolck調(diào)用

int count = peopleCount();

NSLog(@"count = %d",count);

//? ? ? ? 定義一個block返回字符串

char *(^string)() = ^(){

return "Hello";

};

//調(diào)用

char *str = string();

NSLog(@"str = %s",str);

}

//定義一個新的名字

typedef int(^diyBlock)(int a, int b);

void demo4(){

//? ? ? ? 寫4個block,來做四則運算,a、b是通過鍵盤輸入

diyBlock jian = ^(int num1, int num2){

if (num1 > num2) {

return num1 - num2;

}else{

return num2 - num1;

}

};

diyBlock add = ^(int a, int b){

return? a + b;

};

diyBlock cheng = ^(int a, int b){

return a * b;

};

diyBlock chu = ^(int a, int b){

if (b == 0) {

NSLog(@"除數(shù)不能為0");

return 0;

}else{

return a / b;

}

//? ? int (^add)(int a, int b) = ^(int a, int b){

//? ? ? ? return? a + b;

//? ? };

//

//? ? int (^cheng)(int a, int b) = ^(int a, int b){

//? ? ? ? return a * b;

//? ? };

//

//? ? int (^chu)(int a, int b) = ^(int a, int b){

//? ? ? ? if (b == 0) {

//? ? ? ? ? ? NSLog(@"除數(shù)不能為0");

//? ? ? ? ? ? return 0;

//? ? ? ? }else{

//? ? ? ? ? ? return a / b;

//? ? ? ? }

};

int a;

int b;

NSLog(@"請輸入兩個整數(shù)\n");

scanf("%d%d",&a,&b);

int num =? add(a,b);

NSLog(@"整數(shù)之和為:%d",num);

int num1 =? chu(a,b);

NSLog(@"整數(shù)相除為:%d",num1);

int num2 =? cheng(a,b);

NSLog(@"整數(shù)相乘為:%d",num2);

int num3 =? jian(a,b);

NSLog(@"整數(shù)相減為:%d",num3);

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容