네트워크 보안 수업 18일차 - 코리아 정보보안 IT학원

2016. 4. 21. 16:54네트워크 보안 수업/C언어

반응형

[실습]


- 배열을 초기화하는 함수 void init_arr(int *arr, int size)를 작성

- 입력받은 배열을 3의 배수로 초기화 할 수 있도록 한다.


- 해당 배열의 내용을 main 함수에서 출력해서 확인


#include <stdio.h>


void init_arr(int *arr, int size)

{

        int three=3;

        int i=0;


        for(i=0;i<size;i++){

                arr[i]=three;

                three=three+3;

        }

}


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

{

        int arr[5];

        int ret=0;

        int i=0;


        init_arr(arr,sizeof(arr)/4);


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

                printf("%d\t",arr[i]);

        }

        printf("\n");


        return 0;

}



void init_arr(int *arr,int size)

{

int i=0;

for(i=0;i<size;i++){

arr[i]= (i+1)*3;

}

}


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

{

int arr[100];


init_arr(arr,sizeof(arr)/4);


int i=0;

for(i=0;i<sizeof(arr)/4;i++){

printf("%d\n", arr[i];

}


return 0;

}


[실습]


void swap(...)

{


}


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

{

int a=10;

int b=20;


printf("a:%d, b:%d\n", a,b);

swap(...);

printf("a:%d, b:%d\n",a,b);


return 0;

}



[출력]

a: 10, b: 20

a: 20, b: 10


#include <stdio.h>


void swap(int *i, int *j)

{

        int change;


        change=*i;

        *i=*j;

        *j=change;


}


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

{


        int a=10;

        int b=20;


        printf("a:%d, b:%d\n", a,b);

        swap(&a,&b);

        printf("a:%d, b:%d\n", a,b);


        return 0;

}



[실습]


- 문자로 이루어진 배열을 인수로 받아 배열의 값을 

 역순으로 바꿔주는 reverse 함수를 정의


- 해당 함수가 잘 동작하는지를 main함수에서 보여라.




#include <stdio.h>


void reverse(char *str,int size)

{

        int loop1=size-1;

        int i=0;

        char temp[size];


        i=size;

        for(i=0;i<size;i++){

                temp[loop1]=str[i];

                loop1=loop1-1;

        }

        for(loop1=0;loop1<size;loop1++){

                str[loop1]=temp[loop1];

        }

}

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

{

        char str[]="Republic of Korea";

        int i;

        int count=0;


        while(1){

                if(str[i]==0x00){

                        break;

                }else{

                        count=count+1;

                        i=i+1;

                }

        }


        reverse(str,count);


        for(i=0;i<count;i++){

                printf("%c",str[i]);

        }

        printf("\n");


        return 0;

}

----------------------------------------------------------------------------------



#include <stdio.h>


void reverse(char *str)

{

        char temp=0;

        int size=0;

        int i=0;


        while(str[size]!=0){

                size++;

        }


        temp=str[size-1];

        for(i=size-1;i>=0;i--){

                str[i]=str[i-1];

        }

        str[0]=temp;

}

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

{

        char str[]="hello";


        reverse(str);

        printf("%s\n",str);


        return 0;

}









반응형