Код C, как изменить адрес возврата в коде?

Я только что написал код на C, который приведен ниже:

#include<stdio.h>
#include<string.h>


void func(char *str)
{
        char buffer[24];
        int *ret;
        strcpy(buffer,str);
}

int main(int argc,char **argv)
{
        int x;
        x=0;
        func(argv[1]);
        x=1;
        printf("\nx is 1\n");
        printf("\nx is 0\n\n");
}

Подскажите, пожалуйста, как пропустить строку printf ("\ nx is 1 \ n"); . Ранее я понял, что нужно изменить переменную ret , которая является адресом возврата функции func .

Не могли бы вы посоветовать мне, как изменить адрес возврата в приведенной выше программе, так что printf ("\ nx is 1 \ n"); пропускается.

Я отправил этот вопрос, потому что не знаю, как изменить адрес возврата.

Было бы здорово, если бы вы мне помогли.

Спасибо

7
задан jschmier 4 April 2011 в 19:27
поделиться