A-M baby
This commit is contained in:
parent
764da6cbbb
commit
db842d013d
19005 changed files with 197040 additions and 7 deletions
10
Task/Loops-Foreach/C/loops-foreach-1.c
Normal file
10
Task/Loops-Foreach/C/loops-foreach-1.c
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
#include <stdio.h>
|
||||
...
|
||||
|
||||
const char *list[] = {"Red","Green","Blue","Black","White"};
|
||||
#define LIST_SIZE (sizeof(list)/sizeof(list[0]))
|
||||
|
||||
int ix;
|
||||
for(ix=0; ix<LIST_SIZE; ix++) {
|
||||
printf("%s\n", list[ix]);
|
||||
}
|
||||
17
Task/Loops-Foreach/C/loops-foreach-2.c
Normal file
17
Task/Loops-Foreach/C/loops-foreach-2.c
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
/* foreach macro for using a string as a collection of char */
|
||||
#define foreach( ptrvar , strvar ) char* ptrvar; for( ptrvar=strvar ; (*ptrvar) != '\0' ; *ptrvar++)
|
||||
|
||||
int main(int argc,char* argv[]){
|
||||
char* s1="abcdefg";
|
||||
char* s2="123456789";
|
||||
foreach( p1 , s1 ) {
|
||||
printf("loop 1 %c\n",*p1);
|
||||
}
|
||||
foreach( p2 , s2 ){
|
||||
printf("loop 2 %c\n",*p2);
|
||||
}
|
||||
exit(0);
|
||||
return(0);
|
||||
}
|
||||
16
Task/Loops-Foreach/C/loops-foreach-3.c
Normal file
16
Task/Loops-Foreach/C/loops-foreach-3.c
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
int main(int argc,char* argv[]){
|
||||
/* foreach macro viewing an array of int values as a collection of int values */
|
||||
#define foreach( intpvar , intary ) int* intpvar; for( intpvar=intary; intpvar < (intary+(sizeof(intary)/sizeof(intary[0]))) ; intpvar++)
|
||||
int a1[]={ 1 , 1 , 2 , 3 , 5 , 8 };
|
||||
int a2[]={ 3 , 1 , 4 , 1, 5, 9 };
|
||||
foreach( p1 , a1 ) {
|
||||
printf("loop 1 %d\n",*p1);
|
||||
}
|
||||
foreach( p2 , a2 ){
|
||||
printf("loop 2 %d\n",*p2);
|
||||
}
|
||||
exit(0);
|
||||
return(0);
|
||||
}
|
||||
24
Task/Loops-Foreach/C/loops-foreach-4.c
Normal file
24
Task/Loops-Foreach/C/loops-foreach-4.c
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
int main(int argc,char* argv[]){
|
||||
#define foreach( idxtype , idxpvar , col , colsiz ) idxtype* idxpvar; for( idxpvar=col ; idxpvar < (col+(colsiz)) ; idxpvar++)
|
||||
#define arraylen( ary ) ( sizeof(ary)/sizeof(ary[0]) )
|
||||
char* c1="collection";
|
||||
int c2[]={ 3 , 1 , 4 , 1, 5, 9 };
|
||||
double* c3;
|
||||
int c3len=4;
|
||||
c3=(double*)calloc(c3len,sizeof(double));
|
||||
c3[0]=1.2;c3[1]=3.4;c3[2]=5.6;c3[3]=7.8;
|
||||
foreach( char,p1 , c1, strlen(c1) ) {
|
||||
printf("loop 1 : %c\n",*p1);
|
||||
}
|
||||
foreach( int,p2 , c2, arraylen(c2) ){
|
||||
printf("loop 2 : %d\n",*p2);
|
||||
}
|
||||
foreach( double,p3 , c3, c3len ){
|
||||
printf("loop 3 : %3.1lf\n",*p3);
|
||||
}
|
||||
exit(0);
|
||||
return(0);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue